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 相关文章推荐
UCenter中的一个可逆加密函数authcode函数代码
Jul 20 PHP
apache+php完美解决301重定向的两种方法
Jun 08 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
Jun 13 PHP
使用php批量删除数据库下所有前缀为prefix_的表
Jun 09 PHP
ThinkPHP空模块和空操作详解
Jun 30 PHP
php实现singleton()单例模式实例
Nov 06 PHP
PHP 读取大文件并显示的简单实例(推荐)
Aug 12 PHP
PHP类的特性实例分析
Sep 28 PHP
PHP数据库操作二:memcache用法分析
Aug 16 PHP
Yii2.0实现的批量更新及批量插入功能示例
Jan 29 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
Nov 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
通过html表格发电子邮件
2006/10/09 PHP
建立动态的WML站点(一)
2006/10/09 PHP
php中常用的预定义变量小结
2012/05/09 PHP
Yii框架组件和事件行为管理详解
2016/05/20 PHP
javascript编程起步(第五课)
2007/02/27 Javascript
getElementById在任意一款浏览器中都可以用吗的疑问回复
2007/05/13 Javascript
动态表格Table类的实现
2009/08/26 Javascript
extJs 下拉框联动实现代码
2010/04/09 Javascript
jquery.tmpl JQuery模板插件
2011/10/10 Javascript
jQuery使用height()获取高度需要注意的地方
2014/12/13 Javascript
js实现拖拽效果
2015/02/12 Javascript
深入浅出讲解ES6的解构
2016/08/03 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
Angular 4 指令快速入门教程
2017/06/07 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
2017/11/07 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
2020/04/29 Javascript
[05:39]2014DOTA2国际邀请赛 DK晋级胜者组专访战队国士无双
2014/07/14 DOTA
[48:37]EG vs OG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[01:06]欢迎来到上海,TI9
2018/08/26 DOTA
进一步理解Python中的函数编程
2015/04/13 Python
Python的爬虫程序编写框架Scrapy入门学习教程
2016/07/02 Python
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
python中的文件打开与关闭操作命令介绍
2018/04/26 Python
Python之dict(或对象)与json之间的互相转化实例
2018/06/05 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
python 实现aes256加密
2020/11/27 Python
答谢会策划方案
2014/05/12 职场文书
三好学生个人先进事迹材料
2014/05/17 职场文书
安全承诺书格式
2014/05/21 职场文书
领导干部个人对照检查材料(群众路线)
2014/09/26 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书
2016年端午节寄语
2015/12/04 职场文书
2016年村干部公开承诺书(公开承诺事项)
2016/03/25 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server
原生JS封装vue Tab切换效果
2021/04/28 Vue.js
使用Python拟合函数曲线
2022/04/14 Python