您的位置:首页 > 编程语言 > PHP开发

PHP变量

2016-03-09 13:30 555 查看
PHP中变量是指用一个美元符号($)作为前缀的标识符。

变量的声明位置决定了一个变量的作用域,也决定了程序中哪些部分可以访问它。

PHP变量有四种类型的作用域:

#局部作用域

#全局作用域

#静态作用域

#函数参数

/*
* 局部变量:函数内部定义的变量,作用域为所在函数。
* 全局变量:定义在所有函数以外的变量,起作用域是整个PHP文件,但在用户自定义函数内部是不可用的。
*           如果希望在用户自定义函数内部使用全局变量,则要用global关键字声明全局变量。
* 静态变量:函数调用结束后仍保留变量值,当再次回到其作用域时(当再次回到其作用域时!!!)又可以继续使用原来的值。
*/

//  变量名不能以字母和下划线以外的其他字符开头。
$thisCup="oink";
$_Class="roof";

//  变量间的赋值是指复制后两个变量使用各自的内存,互不干扰
$str1 = "aaaaa";
$str2 = $str1;
$str1 = "bbbbb";
echo "$str1-$str2 \n";

//通过 & 取得引用
$i = "spcn";
$j = & $i;
$i = "hello";
echo "$j-$i \n";
#
#   赋值是将原变量内容赋值,开辟新的内存空间来保持
#   引用是给变量的内容再起一个名字
#

$example = "out";
function example() {
$example = "inside";
echo "In function: $example \n";
}
example();
echo "out function: $example \n";

//  静态变量的声明
function zdy() {
static $message = 0;
$message ++;
echo "$message _ ";
}

function zdy1() {
$message = 0;
$message ++;
echo "$message _ ";
}

for($i = 0; $i < 10; $i++)  zdy(); echo "\n";
for($i = 0; $i < 10; $i++)  zdy1(); echo "\n";

//  全局变量测试
$theWorld = "world";
function theWorld() {
echo "1. $theWorld \n";
global $theWorld;
echo "2. $theWorld \n";
}
theWorld();

//  可变变量
$change_name = "trans";
$trans = "I am trans.";
$anotherTrans = "I am anotherTrans";
echo $$change_name ."\n";
$change_name = "anotherTrans";
echo $$change_name ."\n";

//  PHP预定义变量
echo "<br />当前运行脚本所在的文档根目录:$_SERVER[DOCUMENT_ROOT] \n";
echo "<br />请求方法:$_SERVER[REQUEST_METHOD] \n";
echo "<br />请求用户的IP地址:$_SERVER[REMOTE_ADDR] \n";
echo "<br />请求用户的主机名:$_SERVER[REMOTE_HOST] \n";
echo "<br />用户连接到服务器时所用的接口:$_SERVER[REMOTE_PORT] \n";
echo "<br />服务器IP地址:$_SERVER[SERVER_ADDR] \n";
echo "<br />服务器主机名:$_SERVER[SERVER_NAME] \n";
echo "<br />服务器所使用的端口:$_SERVER[SERVER_PORT] \n";
echo "<br />包含服务器版本和虚拟主机名的字符串:$_SERVER[SERVER_SIGNATURE] \n";
echo "<br />当前脚本的绝对路径名:$_SERVER[SCRIPT_FILENAME] \n";
// $_COOKIE
// $_SESSION
// $_POST
// $_GET
// $GLOBALS     #由所有已定义全局变量组成的数组。变量名就是该数组的索引。它可以称得上是所有超级变脸的超级集合。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: