php中各种定义变量的方法小结
1.定义常量define("CONSTANT","Helloworld.");
常量只能包含标量数据(boolean,integer,float和string)。
调用常量时,只需要简单的用名称取得常量的值,而不能加“$”符号,如:echoCONSTANT;
注:常量和(全局)变量在不同的名字空间中。这意味着例如TRUE和$TRUE是不同的。
2.普通变量$a="hello";
3.可变变量(使用两个美元符号($))
$$a="world";
两个变量都被定义了:
$a的内容是“hello”并且$hello的内容是“world”。
因此,可以表述为:
echo"$a${$a}";或者echo"$a$hello";它们都会输出:helloworld
要将可变变量用于数组,必须解决一个模棱两可的问题。这就是当写下$$a[1]时,解析器需要知道是想要$a[1]作为一个变量呢,还是想要$$a作为一个变量并取出该变量中索引为[1]的值。解决此问题的语法是,对第一种情况用${$a[1]},对第二种情况用${$a}[1]。
4.静态变量
在函数内部static$a=0;
注意:声明中用表达式的结果对其赋值会导致解析错误如static$a=3+3;(error)
静态变量仅在局部函数域中存在(函数内部),函数执行完之后,变量值不会丢失,可用于递归调用
5.全局变量
在函数体内定义的global变量,函数体外可以使用,在函数体外定义的global变量不能在函数体内使用,在全局范围内访问变量可以用特殊的PHP自定义$GLOBALS数组:
如:$GLOBALS["b"]=$GLOBALS["a"]+$GLOBALS["b"];
在一个函数域内用global语句导入的一个真正的全局变量实际上是建立了一个到全局变量的引用
global$obj;
注:对于变量的static和global定义是以应用的方式实现的
6.给变量赋值:传地址赋值(简单引用):
$bar=&$foo;//加&符号到将要赋值的变量前
改动新的变量将影响到原始变量,这种赋值操作更加快速
注意:只有命名变量才可以传地址赋值
注意:如果
$bar=&$a;
$bar=&$foo;
改变$bar的值只能改变变量foo的值,而不改变a的值(引用改变了)
7.PHP超全局变量$GLOBALS:
包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键标为全局变量的名称。从PHP3开始存在$GLOBALS数组。
$_SERVER:变量由Web服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组$HTTP_SERVER_VARS数组(依然有效,但反对使用)。
$_GET:经由HTTPGET方法提交至脚本的变量。
$_POST:经由HTTPPOST方法提交至脚本的变量。
$_COOKIE:经由HTTPCookies方法提交至脚本的变量。
$_FILES:经由HTTPPOST文件上传而提交至脚本的变量。
文件上传表单中要有enctype="multipart/form-data"
$_ENV:执行环境提交至脚本的变量。
$_REQUEST:经由GET,POST和COOKIE机制提交至脚本的变量,因此该数组并不值得信任。所有包含在该数组中的变
量的存在与否以及变量的顺序均按照php.ini中的variables_order配置指示来定义。该数组没有直接模拟PHP4.1.0的早期版本。参见import_request_variables()。
注意:自PHP4.3.0起,$_FILES中的文件信息不再存在于$_REQUEST中。
$_SESSION:当前注册给脚本会话的变量。
如何禁用phpinfo():
php.ini中
disable_functions=phpinfo()
重启web服务器。
php中的常量
常量只能用define(常量名,常量值);
常量只能包含标量数据(boolean,integer,float和string)。
可以简单的通过指定其名字来取得常量的值,不要在常量前面加上$符号。如果常量名是动态的,也可以用函数
constant()来读取常量的值。用get_defined_constants()可以获得所有已定义的常量列表。
注:常量和(全局)变量在不同的名字空间中。这意味着例如TRUE和$TRUE是不同的。
如果使用了一个未定义的常量,PHP假定想要的是该常量本身的名字,如同用字符串调用它一样(CONSTANT对应"CONSTANT")。此时将发出一个E_NOTICE级的错误。参见手册中为什么$w3sky[bar]是错误的(除非事先用define()将bar定义为一个常量)。如果只想检查是否定义了某常量,用defined()函数。
常量和变量不同:
*常量前面没有美元符号($);
*常量只能用define()函数定义,而不能通过赋值语句;
*常量可以不用理会变量范围的规则而在任何地方定义和访问;
*常量一旦定义就不能被重新定义或者取消定义;
*常量的值只能是标量。
定义常量
总结
以上所述是小编给大家介绍的php中各种定义变量的方法小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!