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 相关文章推荐
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
Oct 15 PHP
php debug 安装技巧
Apr 30 PHP
php中如何使对象可以像数组一样进行foreach循环
Aug 09 PHP
PHP基础知识介绍
Sep 17 PHP
php实现的短网址算法分享
Jun 20 PHP
php获取文件名后缀常用方法小结
Feb 24 PHP
php数组索引与键值操作技巧实例分析
Jun 24 PHP
老生常谈PHP面向对象之注册表模式
May 26 PHP
弹出模态框modal的实现方法及实例
Sep 19 PHP
thinkPHP和onethink微信支付插件分享
Aug 11 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
Oct 16 PHP
PHP dirname(__FILE__)原理及用法解析
Oct 28 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生成二维码的几种方式整理及使用实例
2013/06/03 PHP
php中用socket模拟http中post或者get提交数据的示例代码
2013/08/08 PHP
浅谈PHP中静态方法和非静态方法的相互调用
2016/10/04 PHP
PHP whois查询类定义与用法示例
2019/04/03 PHP
JavaScript 数组循环引起的思考
2010/01/01 Javascript
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
jQuery学习笔记之jQuery的动画
2010/12/22 Javascript
js给selected添加options的方法
2015/05/06 Javascript
javascript实现删除前弹出确认框
2015/06/04 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
2015/10/16 Javascript
JS控制伪元素的方法汇总
2016/04/06 Javascript
极力推荐10个短小实用的JavaScript代码段
2016/08/03 Javascript
Bootstrap禁用响应式布局的实现方法
2017/03/09 Javascript
bootstrap table实现单击单元格可编辑功能
2017/03/28 Javascript
详解vue-cli快速构建项目以及引入bootstrap、jq
2017/05/26 Javascript
详解angular中的作用域及继承
2017/05/31 Javascript
js实现查询商品案例
2020/07/22 Javascript
[02:19]DOTA2上海特级锦标赛 观赛指南 Spectator Guide
2016/02/04 DOTA
Python切片操作去除字符串首尾的空格
2019/04/22 Python
Python日志无延迟实时写入的示例
2019/07/11 Python
如何利用Python模拟GitHub登录详解
2019/07/15 Python
通过python3实现投票功能代码实例
2019/09/26 Python
Python 实现敏感目录扫描的示例代码
2020/05/21 Python
解决Python安装cryptography报错问题
2020/09/03 Python
python Yaml、Json、Dict之间的转化
2020/10/19 Python
CSS3 display知识详解
2015/11/25 HTML / CSS
驴妈妈旅游网:中国新型的B2C旅游电子商务网站
2016/08/16 全球购物
KIEHL’S科颜氏官方旗舰店:源自美国的顶级护肤品牌
2018/06/07 全球购物
美国最大的船只买卖在线市场:Boat Trader
2018/08/04 全球购物
英国家居用品和床上用品零售商:P&B Home
2020/01/16 全球购物
电子商务专业在校生实习自我鉴定
2013/09/29 职场文书
最新个人职业生涯规划书
2014/01/22 职场文书
校园歌咏比赛主持词
2014/03/18 职场文书
预备党员入党感言
2015/08/01 职场文书
Redis模仿手机验证码发送的实现示例
2021/11/02 Redis
Java时间工具类Date的常用处理方法
2022/05/25 Java/Android