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警告Cannot use a scalar value as an array的解决方法
Jan 11 PHP
destoon实现不同会员组公司名称显示不同的颜色的方法
Aug 22 PHP
php购物车实现方法
Jan 03 PHP
wampserver改变默认网站目录的办法
Aug 05 PHP
PHP查看SSL证书信息的方法
Sep 22 PHP
php使用curl下载指定大小的文件实例代码
Sep 30 PHP
php使用环形链表解决约瑟夫问题完整示例
Aug 07 PHP
PHP获取星期几的常用方法小结
Dec 18 PHP
浅谈PHP进程管理
Mar 08 PHP
PHP面向对象程序设计之对象的遍历操作示例
Jun 12 PHP
PHP实现的文件浏览器功能简单示例
Sep 12 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
Oct 12 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框架Phpbean说明
2008/01/10 PHP
php str_pad 函数用法简介
2009/07/11 PHP
php5.3 废弃函数小结
2010/05/16 PHP
php引用计数器进行垃圾收集机制介绍
2012/09/19 PHP
PHP 实现判断用户是否手机访问
2015/01/21 PHP
php判断对象是派生自哪个类的方法
2015/06/20 PHP
PHP微信分享开发详解
2017/01/14 PHP
CI框架(CodeIgniter)公共模型类定义与用法示例
2017/08/10 PHP
javascript web页面刷新的方法收集
2009/07/02 Javascript
JavaScript Math.ceil() 函数使用介绍
2013/12/11 Javascript
js识别不同浏览器基于userAgent做判断
2014/07/29 Javascript
小议JavaScript中Generator和Iterator的使用
2015/07/29 Javascript
JS函数arguments数组获得实际传参数个数的实现方法
2016/05/28 Javascript
深入理解js数组的sort排序
2016/05/28 Javascript
onmouseover事件和onmouseout事件全面理解
2016/08/15 Javascript
浅析Javascript的自动分号插入(ASI)机制
2016/09/29 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
详解React 服务端渲染方案完美的解决方案
2018/12/14 Javascript
Vue 按照创建时间和当前时间显示操作(刚刚,几小时前,几天前)
2020/09/10 Javascript
python常用知识梳理(必看篇)
2017/03/23 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
2019/06/21 Python
利用Python产生加密表和解密表的实现方法
2019/10/15 Python
用Python做一个久坐提醒小助手的示例代码
2020/02/10 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
2020/03/27 Python
django为Form生成的label标签添加class方式
2020/05/20 Python
Python+OpenCV检测灯光亮点的实现方法
2020/11/02 Python
简单而又朴实的个人求职信分享
2013/12/12 职场文书
关于祖国的演讲稿
2014/05/04 职场文书
2014年秋季开学典礼致辞
2014/08/02 职场文书
班子四风对照检查材料思想汇报
2014/09/29 职场文书
先进党支部事迹材料
2014/12/24 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书
公司欠款证明
2015/06/24 职场文书
小学数学教学反思范文
2016/02/16 职场文书
2016年圣诞节义工活动总结
2016/04/01 职场文书