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 相关文章推荐
一个目录遍历函数
Oct 09 PHP
PHP 木马攻击防御技巧
Jun 13 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
Jan 11 PHP
php中选择什么接口(mysql、mysqli)访问mysql
Feb 06 PHP
php小技巧之过滤ascii控制字符
May 14 PHP
Yii 快速,安全,专业的PHP框架
Sep 03 PHP
php类的扩展和继承用法实例
Jun 20 PHP
PHP微信公众号开发之微信红包实现方法分析
Jul 14 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
PHP PDOStatement::fetchColumn讲解
Jan 31 PHP
PHP大文件及断点续传下载实现代码
Aug 18 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中的phpinfo()函数
2013/06/06 PHP
PHP跨平台获取服务器IP地址自定义函数分享
2014/12/29 PHP
简单谈谈PHP vs Node.js
2015/07/17 PHP
JS实现浏览器菜单命令
2006/09/05 Javascript
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
2015/08/26 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
2016/05/04 Javascript
获取select的value、text值的简单示例(jquery与javascript)
2016/12/07 Javascript
Bootstrap fileinput文件上传组件使用详解
2017/06/06 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
jQuery-Citys省市区三级菜单联动插件使用详解
2019/07/26 jQuery
Vue-CLI项目中路由传参的方式详解
2019/09/01 Javascript
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
浅谈Python 对象内存占用
2016/07/15 Python
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
python使用邻接矩阵构造图代码示例
2017/11/10 Python
Python+matplotlib绘制不同大小和颜色散点图实例
2018/01/19 Python
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)
2019/07/01 Python
python实现输入任意一个大写字母生成金字塔的示例
2019/10/27 Python
Django框架中间件定义与使用方法案例分析
2019/11/28 Python
使用Python爬虫库requests发送请求、传递URL参数、定制headers
2020/01/25 Python
TensorFlow2.X结合OpenCV 实现手势识别功能
2020/04/08 Python
Python celery原理及运行流程解析
2020/06/13 Python
Django REST Framework 分页(Pagination)详解
2020/11/30 Python
CSS3教程:background-clip和background-origin
2008/10/17 HTML / CSS
奥林匹亚体育:Olympia Sports
2020/12/30 全球购物
Prototype中如何为一个元素添加一个方法
2014/12/08 面试题
大学生新闻专业个人自我评价
2013/11/12 职场文书
小学后勤管理制度
2014/01/14 职场文书
学生周末回家住宿长期请假条
2014/02/15 职场文书
士力架广告词
2014/03/20 职场文书
草房子读书笔记
2015/06/29 职场文书
pytorch 权重weight 与 梯度grad 可视化操作
2021/06/05 Python