PHP中的变量名称用$和标识符表示,变量名是区分大小写的。
变量赋值,是指给变量一个具体的数据值,对于字符串和数字类型的变量,可以通过"="来实现,格式为:
$name = value;
PHP中变量名不能以数字和其他字符开头,其他字符包括@,#等
引用赋值:从PHP4开始,PHP引入了“引用赋值”的概念。用不同的名字访问同一个变量内容。当改变其中一个变量的值时,另一个也跟着发生变化。使用&符号来表示引用。
例如:
<?php $i="hab"; $j=&$i; $i="hello,$i"; echo $j; echo "<br>"; echo $i; ?>
结果为:hello,hab hello,hab
要在自定义方法中调用全局变量需要前面加关键字global,例如:
<? $ab="不显示"; $abc="显示"; function test(){ echo $ab."<br>"; //$ab不能被调用,没有输出 global $abc; //利用关键字global在函数内部定义全局变量 echo $abc."<br>"; //此处调用$abc } test(); ?>
结果为:显示
使用可变变量动态改变变量名称,例如:
<?php $aaa="bbb"; $bbb="ccc"; echo $aaa; echo "<br>"; echo $aaa ?>结果为:bbb ccc
PHP预定义变量
变量名称 | 说 明 |
---|---|
$_SERVER['SERVER_ADDR'] | 当前运行脚本所在的服务器的IP地址 |
$_SERVER['SERVER_NAME'] | 当前运行脚本所在服务器主机的名称。如果该脚本运行在一个虚拟主机上,则该名称是由虚拟主机所设置的值决定 |
$_SERVER['REQUEST_METHOD'] | 访问页面时的请求方法。如GET、HEAD、POST、PUT等,如果请求的方式是HEAD,PHP脚本将在送出头信息后中止(这意味着在产生任何输出后,不再有输出缓冲) |
$_SERVER['REMOTE_ADDR'] | 正在浏览当前页面用户的IP地址 |
$_SERVER['REMOTE_HOST'] | 正在浏览当前页面用户的主机名。反向域名解析基于该用户的REMOTE_ADDR |
$_SERVER['REMOTE_PORT'] | 用户连接到服务器时所使用的端口 |
$_SERVER['SCRIPT_FILENAME'] | 当前执行脚本的绝对路径名。注意:如果脚本在CLI中被执行,作为相对路径,如 file.php或者.../file.php,$_SERVER['SCRIPT_FILENAME']将包含用户指定的相对路径 |
$_SERVER['SERVER_PORT'] | 服务器所使用的端口,默认为80.如果使用SSL安全连接,则这个值为用户设置的HTTP端口 |
$_SERVER['SERVER_SIGNATRUE'] | 包含服务器版本和虚拟主机名的字符串 |
$_SERVER['DOCUMENT_ROOT'] | 当前运行脚本所在的文档根目录。在服务器配置文件中定义 |
$_COOKIE | 通过HTTPCookie传递到脚本的信息,这些cookie多数是由执行PHP脚本时通过setcookie()函数设置的 |
$_SESSION | 包含与所有会话变量有关的信息。$_SESSION变量主要应用与会话控制和页面之间值的传递。 |
$_POST | 包含通过POST方法传递的参数的相关信息。主要用于获取通过POST方法提交的数据 |
$_GET | 包含通过GET方法传递的参数的相关信息。主要用于获取通过GET方法提交的数据 |
$GLOBALS | 由所有已定义全局变量组成的数组,变量名就是该数组的索引。它可以称得上是所有超级变量的超级集合 |