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 cookie的操作实现代码(登录)
Dec 29 PHP
PHP $_FILES函数详解
Mar 09 PHP
php 数组使用详解 推荐
Jun 02 PHP
利用curl抓取远程页面内容的示例代码
Jul 23 PHP
PHP命名空间(namespace)的动态访问及使用技巧
Aug 18 PHP
php实现parent调用父类的构造方法与被覆写的方法
Feb 11 PHP
php简单获取目录列表的方法
Mar 24 PHP
php中文验证码实现方法
Jun 18 PHP
php判断邮箱地址是否存在的方法
Feb 13 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
Oct 13 PHP
Laravel中Facade的加载过程与原理详解
Sep 22 PHP
详解PHP中的外观模式facade pattern
Feb 05 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 开源AJAX框架14种
2009/08/24 PHP
PHP动态分页函数,PHP开发分页必备啦
2011/11/07 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
2014/01/07 PHP
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
最新最全PHP生成制作验证码代码详解(推荐)
2016/06/12 PHP
Laravel相关的一些故障解决
2020/08/19 PHP
经常用到的JavasScript事件的翻译
2007/04/09 Javascript
基于jquery的自定义鼠标提示效果 jquery.toolTip
2010/11/14 Javascript
jQuery回车实现登录简单实现
2013/08/20 Javascript
JQuery datepicker 用法详解
2015/12/25 Javascript
BootStrap tooltip提示框使用小结
2016/10/26 Javascript
Angular利用trackBy提升性能的方法
2018/01/26 Javascript
详解vue中组件参数
2018/07/09 Javascript
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
VUE项目实现主题切换的多种方法
2020/11/26 Vue.js
讲解Python中的递归函数
2015/04/27 Python
Python+matplotlib绘制不同大小和颜色散点图实例
2018/01/19 Python
django之跨表查询及添加记录的示例代码
2018/10/16 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
2020/02/07 Python
在Keras中利用np.random.shuffle()打乱数据集实例
2020/06/15 Python
葡萄牙鞋子品牌:Fair
2016/12/10 全球购物
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
我的applet原先好好的, 一放到web server就会有问题,为什么?
2016/05/10 面试题
System.Array.CopyTo()和System.Array.Clone()有什么区别
2016/06/20 面试题
JAVA程序设计笔试题面试题一套
2015/07/28 面试题
市场营销专业推荐信
2013/11/03 职场文书
大学生村官典型材料
2014/01/12 职场文书
庆祝儿童节标语
2014/10/09 职场文书
龙猫观后感
2015/06/09 职场文书
行政处罚决定书
2015/06/24 职场文书
感恩教师主题班会
2015/08/12 职场文书
村党总支部公开承诺书2016
2016/03/25 职场文书
小程序实现筛子抽奖
2021/05/26 Javascript
为自由献出你的心脏!「进击的巨人展 FINAL」2022年6月在台开展
2022/04/13 日漫