php的常量
系统常量
- __FILE__ 当前PHP文件的相对路径
- __LINE__ 当前PHP文件中所在的行号
- __FUNCTION__ 当前函数名,只对函数内调用起作用
- __CLASS__ 当前类名,只对类起作用
- PHP_VERSION 当前使用的PHP版本号
- PHP_OS 当前PHP环境的运行操作系统
- TRUE 与true一样
- FALSE 与false一样
- M_PI 圆周率常量值
- M_E 科学常数e
- M_LOG2E 代表log2
e,以2为底e的对数
- M_LOG10E 代表lg
e,以10为底e的对数
- M_LN2 2的自然对数
- M_LN10 10的自然对数
- E_ERROR 最近的错误之处
- E_WARNING 最近的警告之处
- E_PARSE 剖析语法有潜在问题之处
- __METHOD__ 表示类方法名,比如B::test
服务器全局变量
- $_SERVER 返回服务器相关信息,返回一个数组
- $_GET 所有GET请求过来的参数
- $_POST 所有POST过来的参数
- $_COOKIE 所有HTTP提交过来的cookie
- $_FILES 所有HTTP提交过来的文件
- $_ENV 当前的执行环境信息
- $_REQUEST 相当于$_POST、$_GET、$_COOKIE提交过来的数据,因此这个变量不值得信任
- $_SESSION session会话变量
自定义常量:
const FOO = 'heheh';
define('FOO','heheh');
那么这两种常量又有什么区别呢?
1、const用于类成员变量的定义,一经定义,不可修改。Define不可以用于类成员变量的定义,可用于全局常量。(define可以在框架的核心方法,和函数集定义,这样定义的常量可以给整个项目提供使用)
2、Const可在类中使用,define不能;define可以在[类的]方法中定义,const不行;
3、Const不能再条件语句中定义常量
<?php
if (...){
const FOO = 'BAR'; // 无效的invalid
}
if (...) {
define('FOO', 'BAR'); // 有效的valid
}
?>
4、const采用普通的常量名称,define可以采用表达式作为名称
<?php
const FOO = 'BAR';
for ($i = 0; $i < 32; ++$i) {
define('BIT_' . $i, 1 << $i);
}
?>
5、const只能接受静态的标量,而define可以采用任何表达式
<?php
const BIT_5 = 1 << 5; // 无效的invalid
define('BIT_5', 1 << 5); // 有效的valid
?>
6、const定义的常量时大小写敏感,而define可以通过第三个参数(为true表示大小写不敏感)来指定大小写是否敏感。
<?php
define('FOO', 'BAR', true);
echo FOO; // BAR
echo foo; // BAR
?>
php的常量的更多相关文章
- C++11特性——变量部分(using类型别名、constexpr常量表达式、auto类型推断、nullptr空指针等)
#include <iostream> using namespace std; int main() { using cullptr = const unsigned long long ...
- JavaScript 常量定义
相信同学们在看见这个标题的时候就一脸懵逼了,什么?JS能常量定义?别逗我好吗?确切的说,JS当中确实没有常量(ES6中好像有了常量定义的关键字),但是深入一下我们可以发现JS很多不为人知的性质,好好利 ...
- ES6之变量常量字符串数值
ECMAScript 6 是 JavaScript 语言的最新一代标准,当前标准已于 2015 年 6 月正式发布,故又称 ECMAScript 2015. ES6对数据类型进行了一些扩展 在js中使 ...
- Java常量的应用
所谓常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变. 语法:final 常量名 = 值; 使用fianl关键字 常量名 值 final String a1 = &qu ...
- 原创 C++之常量(二)
4常量的内存分配 4.1应用程序的内存结构 一个由C++编译的应用程序,占用的内存可以划分为如下几个部分: 栈(stack).由编译器自动分配释放.存放函数参数和函数里的局部变量(又称自动变量).其操 ...
- 原创 C++之常量(一)
1概述 一个C++程序就是一系列数据与操作的集合.当一个C++程序开始运行的时候,与该程序相关的数据就会被加载到内存中.当数据与内存发生关联的时候,这些数据就会具有如下的特性: 数据在内存中的地址.这 ...
- 1.2 - C#语言习惯 - 用运行时常量readonly而不是编译期常量const
C#中有两种类型的常量:编译期常量和运行时常量.二者有着截然不同的行为,使用不当将会带来性能上或正确性上的问题. 这两个问题最好都不要发生,不过若难以同时避免的话,那么一个略微慢一些但能保证正确的程序 ...
- swift 简介和常量与变量 --- swift 入门
一.思维导图 二. 代码 //创建UIView 和按钮 let views = UIView(frame: CGRect(x:20, y: 20, width: 100, height: 100))/ ...
- java为什么非静态内部类中不能有static修饰的属性,但却可以有常量?
如:public class InnerClassDemo{int x;class A{static int a = 0;//这样写是不合法的.static final int b=0;//这样写是合 ...
- String字符串针对常量池的优化
String对象是java语言中重要的数据类型,但是不是基本数据类型.相对于c语言的char java做了一些封装和延伸. 针对常量池的优化:当两个String拥有相同的值时,它们只引用常量池中的同一 ...
随机推荐
- mssqlservers数据嗅探
SQL Server - 最佳实践 - 参数嗅探问题 转. 文章来自:https://yq.aliyun.com/articles/61767 先说我的问题,最近某个存储过程,暂定名字:sp_a ...
- GIS案例学习笔记-水文分析河网提取地理建模
GIS案例学习笔记-水文分析河网提取地理建模 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:针对数字高程模型,通过水文分析,提取河网 操作时间:25分钟 数据 ...
- powerdesiner技巧
1.name和code同步问题和name成comments http://blog.csdn.net/huang_xw/article/details/5722981 2.连接数据库
- Win2012&Win2008双系统启动菜单设置
电脑最初安装的是XP,后来想升级操作系统,但XP里又有很多常用软件不想重装,于是装了一个Win2008 R2的双系统,安装好2008R2后,系统自动产生一个2008R2的启动菜单,可以选择进入2008 ...
- 吴裕雄 python 爬虫(3)
import hashlib md5 = hashlib.md5() md5.update(b'Test String') print(md5.hexdigest()) import hashlib ...
- LDA线性判别分析(转)
线性判别分析LDA详解 1 Linear Discriminant Analysis 相较于FLD(Fisher Linear Decriminant),LDA假设:1.样本数据服从正态分布,2 ...
- hdu2669-Romantic-(扩展欧几里得定理)
Romantic Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- hdu5505-GT and numbers-(贪心+gcd+唯一分解定理)
GT and numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- Maximum Likelihood及Maximum Likelihood Estimation
1.What is Maximum Likelihood? 极大似然是一种找到最可能解释一组观测数据的函数的方法. Maximum Likelihood is a way to find the mo ...
- 引用yml中自定义数据 静态引用和动态引用
//静态 @Component public class LinusFile { public static String imageUrl; @Value("${web.uploadPat ...