首页
学习
活动
专区
圈层
工具
发布

php预定义超全局数组和预定义常量

定义 超全局变量,是在全部作用域中始终可用的内置变量。 PHP中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。...包含了web服务器、客户端、运行环境和用户输入的数据; 数组比较特别 全局范围都会生效,都可以直接去使用 用户无法定义这些数组,但是我们可以直接调用,追加数组元素和正常数组一样操作 $_GET:经由url...COOKIE// $_SESSION $_SERVER:变量和当前web服务器设置有关,和当前脚本执行环境相关 $_ENV:执行环境提交到脚本的变量 $GLOBALS:当前脚本有效变量都在此,包括系统预定义和用户自定义变量...PHP //遍历出数组,也可以使用键名输出指定内容 foreach($_SERVER as $key=>$val){     echo $key."=====>".$val."...返回当前执行脚本文件名 echo $_SERVER['REMOTE_ADDR'];//返回浏览当前页面用户IP echo $_SERVER['REMOTE_PORT'];//返回用户连接web服务端的端口 ---- 预定义常量

3.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    #define 定义常量 与 定义 宏

    比如: printf("%s\n", __DATE__); printf("%s\n", __TIME__); 这是编译器自己设置的⼀些预定义符号,无需定义可以直接使⽤,现在问:这些printf...#define 定 义 宏 规则:#define定义机制允许把参数也替换到文本中 比如: #define SQU(x) x*x 注意:参数的左括号需与名紧密相接,不能有空号。...编译器处理后变成了int b = 10 * (5)+(5); 改为#define ADD(x) ((x)+(x))这样定义即可。 作者建议在定义宏时不 要 吝 惜 括号“()”。...(a):(b)) int main() { int z = MAX(3, 5); printf("%d", z); return 0; } 上述代码是定义成宏好呢,还是封装成函数好呢?...所以宏在 2.无需重复定义函数:函数参数的类型决定了该函数的使用范围,若形参为int型,则float型数据就无法使用该函数,,而使用宏是与参数类型无关的,没有这种顾虑。

    32100

    java常量的定义

    在Java语言中,主要是利用final关键字来定义常量。当常量被设定后,一般情况下就不允许再进行更改。如可以利用如下的形式来定义一个常量:final double PI=3.1315。...在定义这个常量时,需要注意如下内容: 一是常量在定义的时候,就需要对常量进行初始化。也就是说,必须要在常量声明时对其进行初始化。都跟局部变量或者成员变量不同。...这个final关键字不仅可以用来修饰基本数据类型的常量,还可以用来修饰对象的引用或者方法。如数组就是一个对象引用。为此可以使用final关键字来定义一个常量的数组。这就是Java语言中一个很大的特色。...一旦一个数组对象被final关键字设置为常量数组之后,它只能够恒定的指向一个数组对象,无法将其改变指向另外一个对象,也无法更改数组中的值。 三是需要注意常量的命名规则。...在定义final的数据不论是常量、对象引用还是数组,在主函数中都不可以改变。否则的话,会被器拒绝并提示错误信息。 由于Javal是面向对象的语言,所以在定义常量的时候还有与其它编程语言不同的地方。

    1.5K30

    Java常量:Java常量的定义和分类

    下面我们来系统地认识一下 Java 中的常量值,以及定义常量的方法。常量值常量值又称为字面常量,它是通过数据直接表示的,因此有很多种数据类型,像整型和字符串型等。下面一一介绍这些常量值。...,因此在使用前必须先定义。...它的声明格式为:Java 语言使用 final 关键字来定义一个常量,其语法如下所示:final dataType variableName = value其中,final 是定义常量的关键字,dataType...代码第 5 行声明成员常量,作用域类似于成员变量,但不能修改。代码第 9 行声明局部常量,作用域类似于局部变量,但不能修改。在定义常量时,需要注意如下内容:在定义常量时就需要对该常量进行初始化。...例如,如下图中定义常量 AGE 并赋予初值,如果更改 AGE 的值,那么在编译时将提示不能重合赋值错误。

    22310

    PHP中的预定义常量和魔术常量

    魔术常量(8个) 1、__LINE__ 返回文件中的当前行号。 2、__FILE__ 返回文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。...自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。 5、__CLASS__ 返回类的名称(PHP 4.3.0 新加)。...自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。 6、__TRAIT__ Trait 的名字(PHP 5.4.0 新加)。...自 PHP 5.4 起此常量返回 trait 被定义时的名字(区分大小写)。Trait 名包括其被声明的作用区域(例如 Foo\Bar)。...此常量是在编译时定义的(PHP 5.3.0 新增) 预定义常量 PHP_VERSION PHP 程序的版本,如4.0.2 PHP_OS

    5.7K30

    CC++中define定义的常量与const常量

    常量是在程序中不能更改的量,在C/C++中有两种方式定义常量,一种是利用define宏定义的方式,一种是C++中新提出来的const型常变量,下面主要讨论它们之间的相关问题; define定义的常量:...printf (00401070) 00401042 add esp,8 在调用printf的时候,入栈的参数是10,根本没有取nNum值得相关操作,在利用const定义的常量时...2)define定义的常量编译器不会进行任何检查,const定义的常量编译器会进行类型检查,相对来说比define更安全 3)define的宏在使用时是替换不占内存,而const则是一个变量,占内存空间...4)define定义的宏在代码段中不可寻址,const定义的常量是可以寻址的,在数据段或者栈段中。...5)define定义的宏在编译前的预处理操作时进行替换,而const定义变量是在编译时决定 6)define定义的宏是真实的常量,不会被修改,const定义的实际上是一个变量,可以通过相关的手段进行修改

    2.4K10

    laravel 自定义常量方法

    版本5以上验证OK 常量定义方案A: step1 按路径生成constants文件 app/config/constants.php step2 constants文件里写 return...’); echo Config::get(‘constants.ADMIN_NAME’); echo Config::get(‘constants.ADMIN_NAME1.INIT’); 常量定义方案.../constants.php’; 2,在app/constants.php(手动创建文件)里定义纯PHP常量 , define(‘ADMIN’, ‘administrator’); =====...php return [ ‘URI’ => ‘baidu.com’ ]; 使用常量  echo Config::get(‘constants.URI’); ————————————————————— 第二种方法...php define(‘URI’, ‘xxx.com.cn’); 文件调用此常量 echo  URI; linux服务器  需要修改权限为755 发布者:全栈程序员栈长,转载请注明出处:https://

    1.2K50

    Python 定义自己的常量类

    在很多高级语言中都会提供常量的关键字来定义常量,如 C++ 中的 const , Java 中的 final 等,但是 Python 语言因为变量无类型,所以也就不存在这样的修饰符,其本身并未提供任何机制来进行常量的定义...因此我们只能通过自己定义类的方法来定义一个符合常量规则的类,使得该类定义的成员属性满足常量的属性。...由于常量的值一旦绑定则不可再修改,所以也就是说对常量二次赋值时需要抛出异常。因此我们显然需要改写自定义的常量类的赋值方法。...异常处理的定义方式请参看:Python 错误和异常 定义常量类: constant.py import sys class _const: # 自定义异常处理 class ConstError...VALUE 的值或者定义一个名称不是全部大写的常量时,都会抛出异常,这样就达到了不可更改常量的值的目的。

    4.5K50

    一、编程规约 (二)常量定义

    【强制】不允许任何魔法值(即未经预先定义的常量)直接出现在代码中。 ...【推荐】不要使用一个常量类维护所有常量,按常量功能进行归类,分开维护。  说明:大而全的常量类,非得使用查找功能才能定位到修改的常量,不利于理解和维护。 ...【推荐】常量的复用层次有五层:跨应用共享常量、应用内共享常量、子工程内共享常量、包内共享常量、类内共享常量。...反例:易懂变量也要统一定义成应用内共享常量,两位攻城师在两个类中分别定义了表示“是”的变量: 类A中:public static final String YES = "yes";   类B中:public...5) 类内共享常量:直接在类内部private static final定义。 【推荐】如果变量值仅在一个固定范围内变化用enum类型来定义。

    81810

    Java开发手册之常量定义

    【强制】不允许任何魔法值(即未经定义的常量)直接出现在代码中。...【推荐】不要使用一个常量类维护所有常量,按常量功能进行归类,分开维护。 说明:大而全的常量类,非得使用查找功能才能定位到修改的常量,不利于理解和维护。...【推荐】常量的复用层次有五层:跨应用共享常量、应用内共享常量、子工程内共享常量、包内共享常量、类内共享常量。...反例:易懂变量也要统一定义成应用内共享常量,两位攻城师在两个类中分别定义了表示 “是”的变量: 类A中:public static final String YES = "yes"; 类B中:public...5) 类内共享常量:直接在类内部private static final定义。 【推荐】如果变量值仅在一个范围内变化,且带有名称之外的延伸属性,定义为枚举类。

    1K10

    【C 语言】数组 ( 数组指针 | 数组指针定义 | 直接定义 数组指针 )

    文章目录 总结 一、直接定义 数组指针 二、完整代码示例 总结 int (*p)[3] = NULL; 一、直接定义 数组指针 ---- 直接定义 数组指针 , 首先 , 定义一个普通数组 ,...之后的 数组指针 指向该数组 , int array2[3] = {0}; 然后 , 直接定义数组类型变量 , int (*p)[3] = NULL; 最后 , 将 array2 变量地址赋值给该...数组指针类型 变量 , 指针指向的数据类型为 int[3] 数组类型的变量 array2 ; ArrayPointer p = NULL; p = &array2; 验证上述 定义的数组指针..., 数组元素是指针 (作为参考) char *array = {"12", "ab", "34"}; // 数组指针 , 使用指针变量指向数组 // 首先 , 定义一个普通数组..., 之后的 数组指针 指向该数组 int array2[3] = {0}; // 然后 , 直接定义数组类型变量 int (*p)[3] = NULL; // 最后

    4.7K20

    java数组定义长度_JAVA数组的定义

    ={1,2,3,4}; 2先定义数组长度再添加元素 类型[] 数组名 = new 类型[长度]; int[] arr=[2]; arr[0]=1; arr[1]=2; 与此方法类似的 int[] arr...; arr=new int[100]; 3不定义数组长度直接添加元素 类型[] 数组名 = new 类型[]{元素,元素,……}; int[] arr=new int[]{1,2,3,4}; 括弧)js...数组定义方法,区别和区分 1先控制数组长度 var arr=new Array(5) 2直接添加元素 var arr=[1,2,3,4,’g’]; 3还是直接添加元素 var arr=new Array...(1,2,3,’g’); JAVA二维数组 定义方法 1直接添加元素 int[][] arr={ {2},{3},{4}}; 2先定义数组长度再添加元素 int[] arr=new int[2][2]...; arr[0][1]=1; arr[1][1]=1; 3比较麻烦的方法,只定义一维数组的长度,无二维数组的长度 int[] arr=new int[2][]; 写入下一个数组 arr[0]=new int

    5.9K20

    【C 语言】数组 ( 数组指针 | 数组指针定义 | 使用 数组类型* 定义数组指针 )

    文章目录 总结 一、使用 数组类型* 定义数组指针 二、完整代码示例 总结 typedef int(ArrayType)[3]; ArrayType *p = NULL; 一、使用 数组类型...* 定义数组指针 ---- 数组类型指针 就是 定义一个指针 , 指向数组首地址 ; 使用 数组类型* 定义数组指针 , 首先 , 定义数组类型 别名 , typedef int(ArrayType...int[3] 数组类型的变量 array2 ; ArrayType *p = NULL; p = &array2; 验证上述 定义的数组指针 : 为 数组元素 赋值 , //...char *array = {"12", "ab", "34"}; // 数组指针 , 使用指针变量指向数组 // 使用 数组别名 定义数组指针 // 首先 ,...定义数组类型 别名 typedef int(ArrayType)[3]; // 然后 , 使用别名类型 , 声明数组变量 ArrayType array2 = {0};

    5.1K20
    领券