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 相关文章推荐
获得Google PR值的PHP代码
Jan 28 PHP
web目录下不应该存在多余的程序(安全考虑)
May 09 PHP
Php header()函数语法及使用代码
Nov 04 PHP
CI框架Session.php源码分析
Nov 03 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
Jan 19 PHP
PHP模拟post提交数据方法汇总
Feb 16 PHP
php制作简单模版引擎
Apr 07 PHP
PHP+Ajax 检测网络是否正常实例详解
Dec 16 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
Laravel源码解析之路由的使用和示例详解
Sep 27 PHP
PHP+redis实现微博的推模型案例分析
Jul 10 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
IIS+PHP+MySQL+Zend配置 (视频教程)
2006/12/13 PHP
一个图片地址分解程序(用于PHP小偷程序)
2014/08/23 PHP
php去除字符串中空字符的常用方法小结
2015/03/17 PHP
基于PHP实现商品成交时发送短信功能
2016/05/11 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
解决自定义$(id)的方法与jquery选择器$冲突的问题
2014/06/14 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
2014/12/31 Javascript
Javascript毫秒数用法实例
2015/02/05 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
javascript中获取class的简单实现
2016/07/12 Javascript
JavaScript实现省市县三级级联特效
2017/05/16 Javascript
vue渲染时闪烁{{}}的问题及解决方法
2018/03/28 Javascript
JS尾递归的实现方法及代码优化技巧
2019/01/19 Javascript
vue中keep-alive组件的入门使用教程
2019/06/06 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
[00:32]2018DOTA2亚洲邀请赛Newbee出场
2018/04/03 DOTA
wxpython 学习笔记 第一天
2009/02/09 Python
Python格式化输出%s和%d
2018/05/07 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
pandas通过loc生成新的列方法
2018/11/28 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
H5调用相机拍照并压缩图片的实例代码
2017/07/20 HTML / CSS
国际性能运动服装品牌:Dare 2b
2018/07/27 全球购物
实习期自我鉴定
2013/10/11 职场文书
英文版餐饮业求职信
2013/10/18 职场文书
技校生自我鉴定
2013/12/08 职场文书
优秀员工自荐书范文
2013/12/08 职场文书
机械制造专业个人的自我评价
2013/12/28 职场文书
迟到检讨书800字
2014/01/13 职场文书
幼儿园五一活动方案
2014/02/07 职场文书
百年校庆节目主持词
2014/03/27 职场文书
英语系本科生求职信
2014/07/15 职场文书
青年岗位能手事迹材料
2014/12/23 职场文书
个性与发展自我评价
2015/03/06 职场文书