PHP const定义常量及global定义全局常量实例解析


Posted in PHP onMay 28, 2020

const 常量

  • 1.在定义时必须被初始值,
  • 2.前面不加任何修饰符
  • 3.变量名字母一般都大写
  • 4.常量可以被子类继承
  • 5.一个常量是属于一个类的,而不是某个对象的

作用:当某些值是固定不变的,就用const

1.const 定义的常量和define()定义的常量的区别?

希望一个成员变量不被修改 例如圆周率 3.1415926

定义:const 常量名=值; 没有$符

访问:类名 ::常量名 或 接口名::常量名

<?php
defined('TEXT'); //检查一个名称的常量是否存在
class A
{
    const TAX_RATE = 0.08;
    public function payTax($var)
    {
        return $var * A::TAX_RATE;
    }
}
$a = new A();
echo $a->payTax(200);
  • 用法一:const用于类成员变量,一经定义不可修改,define用于全局常量,不可用于类成员变量的定义,const可在类中使用,define不能。
  • 用法二:const定义的常量大小写敏感,而define可通过第三个参数(为TRUE表示大小写不敏感)来指定大小写是否敏感。在运行时定义一个常量。define('TXE',100,TRUE);
  • 用法三:const不能在条件语句中定义常量,而define函数可以。if($a>10){define('LE','hello');}

2.global定义的全局常量和$GLOBALS的区别?

$GLOBALS(超全局变量) — 引用全局作用域中可用的全部变量, 一个包含了全部变量的全局组合数组。变量的名字就是数组的键。

<?php
function test()
{
  $foo = "local variable";
  echo '$foo in global scope: ' . $GLOBALS["foo"] . "\n";
  echo '$foo in current scope: ' . $foo . "\n";
}

$foo = "Example content";
test();

Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件

代码如下:

<?PHP
$a = 123;
function aa()
{
  global $a; //如果不把$a定义为global变量,函数体内是不能访问函数体外部的$a的,但是可以定义一个相同的名字$a,此时这个变量是局部echo

  $a; //变量,只能在函数体内部使用。
}
aa();

总结:在函数体内定义的global变量,函数体外可以使用,在函数体外定义的global变量不能在函数体内使用,

代码如下:

<?php
global $a;
$a = 123; //必须分开赋值
function f()
{
  echo $a; //错误,
}
//再看看下面一例
function f()
{
  global $a;
  $a = 123;
}
f();
echo $a; //正确,可以使用

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP 和 MySQL 基础教程(三)
Oct 09 PHP
PHP的类 功能齐全的发送邮件类
Oct 09 PHP
一个php作的文本留言本的例子(六)
Oct 09 PHP
php5 图片验证码实现代码
Dec 11 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
Nov 12 PHP
PHP同时连接多个mysql数据库示例代码
Mar 17 PHP
CI框架Session.php源码分析
Nov 03 PHP
PHP开发Apache服务器配置
Jul 15 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
Dec 31 PHP
laravel 5.3中自定义加密服务的方案详解
May 09 PHP
Yii框架分页技术实例分析
Aug 30 PHP
laravel自定义分页的实现案例offset()和limit()
Oct 15 PHP
PHP实现获取文件mime类型多种方法解析
May 28 #PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
May 27 #PHP
php+mysql实现的无限分类方法类定义与使用示例
May 27 #PHP
php与阿里云短信接口接入操作案例分析
May 27 #PHP
PHP开发API接口签名生成及验证操作示例
May 27 #PHP
php+websocket 实现的聊天室功能详解
May 27 #PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
May 27 #PHP
You might like
PHP之数组学习
2011/05/29 PHP
php更新mysql后获取影响的行数发生异常解决方法
2013/03/28 PHP
PHP删除数组中特定元素的两种方法
2013/07/02 PHP
PHP调用JAVA的WebService简单实例
2014/03/11 PHP
php使用数组填充下拉列表框的方法
2015/03/31 PHP
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
Yii2语言国际化自动配置详解
2018/08/22 PHP
JavaScript中的Document文档对象
2008/01/16 Javascript
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
javascript检测是否联网的实现代码
2014/09/28 Javascript
JS对大量数据进行多重过滤的方法
2016/11/04 Javascript
微信小程序实现顶部普通选项卡效果(非swiper)
2020/06/19 Javascript
详解webpack提取第三方库的正确姿势
2017/12/22 Javascript
使用jQuery 操作table 完成单元格合并的实例
2017/12/27 jQuery
理解Koa2中的async&amp;await的用法
2018/02/05 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
2018/02/08 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
2018/10/31 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
2020/01/21 Javascript
Python标准库内置函数complex介绍
2014/11/25 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
2017/12/15 Python
python中的文件打开与关闭操作命令介绍
2018/04/26 Python
Python多线程应用于自动化测试操作示例
2018/12/06 Python
python实现感知机线性分类模型示例代码
2019/06/02 Python
TensorFlow索引与切片的实现方法
2019/11/20 Python
vue学习笔记之动态组件和v-once指令简单示例
2020/02/29 Python
python 写函数在一定条件下需要调用自身时的写法说明
2020/06/01 Python
巴西美妆购物网站:Kutiz Beauté
2019/03/13 全球购物
优秀高中生事迹材料
2014/02/11 职场文书
商务代表岗位职责
2015/02/15 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
秋菊打官司观后感
2015/06/03 职场文书
2020年个人安全保证书参考模板
2020/01/08 职场文书
python for循环赋值问题
2021/06/03 Python
Vue vee-validate插件的简单使用
2021/06/22 Vue.js
WebWorker 封装 JavaScript 沙箱详情
2021/11/02 Javascript
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android