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 相关文章推荐
PHP5+UTF8多文件上传类
Oct 17 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
Dec 29 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
May 06 PHP
php使用curl存储cookie的示例
Mar 31 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
Nov 18 PHP
PHP生成随机数的方法实例分析
Jan 22 PHP
PHP遍历XML文档所有节点的方法
Mar 12 PHP
详解PHP数组赋值方法
Nov 07 PHP
php实现图片按比例截取的方法
Feb 06 PHP
php创建图像具体步骤
Mar 13 PHP
CI框架网页缓存简单用法分析
Dec 26 PHP
php异常处理捕获错误整理
Sep 23 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中批量删除Mysql中相同前缀的数据表的代码
2011/07/01 PHP
$_GET['goods_id']+0 的使用详解
2013/06/06 PHP
PHP中抽象类、接口的区别与选择分析
2016/03/29 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
2018/01/15 PHP
鼠标图片振动代码
2006/07/06 Javascript
jquery pagination插件实现无刷新分页代码
2009/10/13 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
2011/09/10 Javascript
jQuery插件开发全解析
2012/10/10 Javascript
jQuery实现用户注册的表单验证示例
2013/08/28 Javascript
jquery dialog open后,服务器端控件失效的快速解决方法
2013/12/19 Javascript
创建、调用JavaScript对象的方法集锦
2014/12/24 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
2016/03/22 Javascript
Java遍历集合方法分析(实现原理、算法性能、适用场合)
2016/04/25 Javascript
Javascript获取随机数的实现方法
2016/06/22 Javascript
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
python基础教程之数字处理(math)模块详解
2014/03/25 Python
Python复制目录结构脚本代码分享
2015/03/06 Python
详解python调度框架APScheduler使用
2017/03/28 Python
python 读取鼠标点击坐标的实例
2018/12/29 Python
python pexpect ssh 远程登录服务器的方法
2019/02/14 Python
Python解析json时提示“string indices must be integers”问题解决方法
2019/07/31 Python
利用Python检测URL状态
2019/07/31 Python
python实现的按要求生成手机号功能示例
2019/10/08 Python
Python class的继承方法代码实例
2020/02/14 Python
详解CSS3原生支持div铺满浏览器的方法
2018/08/30 HTML / CSS
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
英国时尚家具、家居饰品及礼品商店:Graham & Green
2016/09/15 全球购物
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
美国领先的礼品卡网站:GiftCards.com
2016/11/02 全球购物
意大利消费电子产品购物网站:SLG Store
2019/12/26 全球购物
.NET常见笔试题集
2012/12/01 面试题
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
2014/12/12 面试题
小学节能减排倡议书
2014/05/15 职场文书
工商行政管理专业求职书
2014/05/23 职场文书
舞蹈教育学专业求职信
2014/06/29 职场文书
教师优秀党员事迹材料
2014/08/14 职场文书