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 相关文章推荐
用Socket发送电子邮件
Oct 09 PHP
无数据库的详细域名查询程序PHP版(1)
Oct 09 PHP
php遍历目录viewDir函数
Dec 15 PHP
PHP中实现中文字符进制转换原理分析
Dec 06 PHP
php后退一页表单内容保存实现方法
Jun 17 PHP
PHP写的求多项式导数的函数代码
Jul 04 PHP
在Yii框架中使用PHP模板引擎Twig的例子
Jun 13 PHP
php给每个段落添加空格的方法
Mar 20 PHP
php正则判断是否为合法身份证号的方法
Mar 16 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
Nov 12 PHP
PHP实现的获取文件mimes类型工具类示例
Apr 08 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
Jun 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
PHP使用PDO抽象层获取查询结果的方法示例
2018/05/10 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
PHP字符串与数组处理函数用法小结
2020/01/07 PHP
JQuery与iframe交互实现代码
2009/12/24 Javascript
javascript在当前窗口关闭前检测窗口是否关闭
2014/09/29 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
jQuery实现网页顶部固定导航效果代码
2015/12/24 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
jQuery实现简单的点赞效果
2020/05/29 Javascript
JavaScript的函数式编程基础指南
2016/03/19 Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/27 Javascript
详解webpack 多入口配置
2017/06/16 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
用vue-cli开发vue时的代理设置方法
2018/09/20 Javascript
js实现黑白div块画空心的图形
2018/12/13 Javascript
详解JavaScript 的变量
2019/03/08 Javascript
Vue替代marquee标签超出宽度文字横向滚动效果
2019/12/09 Javascript
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
python使用xauth方式登录饭否网然后发消息
2014/04/11 Python
python re正则表达式模块(Regular Expression)
2014/07/16 Python
Python中一些不为人知的基础技巧总结
2018/05/19 Python
python中数组和矩阵乘法及使用总结(推荐)
2019/05/18 Python
python 实现提取log文件中的关键句子,并进行统计分析
2019/12/24 Python
Python中内建模块collections如何使用
2020/05/27 Python
纯CSS改变webkit内核浏览器的滚动条样式
2014/04/17 HTML / CSS
html5关于外链嵌入页面通信问题(postMessage解决跨域通信)
2020/07/20 HTML / CSS
英国现代、当代和设计师家具店:Furntastic
2020/07/18 全球购物
教师求职推荐信范文
2013/11/20 职场文书
半年思想汇报
2013/12/30 职场文书
英语专业个人求职信范文
2014/02/01 职场文书
2015年招聘工作总结
2014/12/12 职场文书
2015年教师党员公开承诺书
2015/01/22 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书
MySQL的Query Cache图文详解
2021/07/01 MySQL
python读取mnist数据集方法案例详解
2021/09/04 Python