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 相关文章推荐
详细介绍:Apache+PHP+MySQL配置攻略
Sep 05 PHP
Apache2 httpd.conf 中文版
Dec 06 PHP
php 多线程上下文中安全写文件实现代码
Dec 28 PHP
记录mysql性能查询过程的使用方法
May 02 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
Jun 21 PHP
php验证session无效的解决方法
Nov 04 PHP
PHP使用JSON和将json还原成数组
Feb 12 PHP
列举PHP的Yii 2框架的开发优势
Jul 03 PHP
PHPStrom中实用的功能和快捷键大全
Sep 23 PHP
Laravel源码解析之路由的使用和示例详解
Sep 27 PHP
PHP基于cookie实现统计在线人数功能示例
Jan 16 PHP
PHP命名空间用法实例分析
Sep 04 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
E路文章系统PHP
2006/12/11 PHP
抓取并下载CSS中所有图片文件的php代码
2011/09/26 PHP
php采集内容中带有图片地址的远程图片并保存的方法
2015/01/03 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
2015/01/07 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
2016/07/06 PHP
运用jquery实现table单双行不同显示并能单行选中
2009/07/25 Javascript
在JavaScript中获取请求的URL参数
2010/12/22 Javascript
JS读取cookies信息(记录用户名)
2012/01/10 Javascript
JavaScript中对象property的删除方法介绍
2014/12/30 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
2016/12/14 Javascript
在javaScript中检测数据类型的几种方式小结
2017/03/04 Javascript
Nuxt.js实战详解
2018/01/18 Javascript
浅析Vue项目中使用keep-Alive步骤
2018/07/27 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
Python创建对称矩阵的方法示例【基于numpy模块】
2017/10/12 Python
Python 实现删除某路径下文件及文件夹的实例讲解
2018/04/24 Python
python中的字符串内部换行方法
2018/07/19 Python
Django rest framework工具包简单用法示例
2018/07/20 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
python re的findall和finditer的区别详解
2020/11/15 Python
Pycharm安装python库的方法
2020/11/24 Python
一款简洁的纯css3代码实现的动画导航
2014/10/31 HTML / CSS
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
Eclipse面试题
2014/03/22 面试题
大学毕业生通用求职信
2013/09/28 职场文书
施工协议书范本
2014/04/22 职场文书
信用卡工作证明模板
2014/09/14 职场文书
碧霞祠导游词
2015/02/09 职场文书
帝企鹅日记观后感
2015/06/10 职场文书
学雷锋广播稿大全
2015/08/19 职场文书
社区结对共建协议书
2016/03/23 职场文书
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
2021/04/01 PHP
mysql数据库入门第一步之创建表
2021/05/14 MySQL