PHP中的变量

PHP中,变量需要声明吗

PHP中,当第一次给一个变量赋值的时候,就是声明并且定义这个变量

 

变量的变量

所谓变量的变量,是如下形式:

$foo = "bar";
$$foo = "baz";  //变量的变量

变量的变量就是$符号前面,可以是其他变量名,这样,这个变量名所引用的值就被声明成了另一个变量。

上面的例子中,变量$foo引用的值"bar"被声明成另一个变量,即变量$bar,它的值是"baz"。

 

变量的引用

PHP中变量的引用,类似C++中变量的引用,是同一个变量的别名:

//两个变量一样的值
$bigLongVariableName = "PHP";
$short =& $bigLongVariableName; 
$bigLongVariableName .= " rocks!"; 
print "\$short is $short\n";
print "Long is $bigLongVariableName\n";

$short is PHP rocks! 
Long is PHP rocks!

//两个变量一样的值
$short = "Programming $short";
print "\$short is $short\n";
print "Long is $bigLongVariableName\n";

$short is Programming PHP rocks! 
Long is Programming PHP rocks!

在PHP中,函数的参数,返回值,都可以是引用。

需要注意的是,unset一个变量,另一个变量不受影响:

$white = "snow"; 
$black =& $white; 
unset($white); 
print $black;

snow

 

全局变量

一个变量,如果声明在函数外面,就是全局的。注意,这里和C语言不一样,在C语言中,声明在块结构里面的变量都是局部变量,而PHP中,只要不是声明在函数中,即便是声明在块结构中,也是全局变量。

 

静态变量

PHP中,函数里面可以使用static关键字声明静态变量,效果和C语言当中一样。

经过试验,在函数外面使用static关键字声明变量,并不能保证这个变量具有文件作用域。

 

变量的作用域

在PHP中,声明在函数内部的变量是局部变量,只有函数内部才可以访问,声明在函数外部的都是全局变量。

同时需要注意,函数内部如果不经特殊处理,是访问不了函数外面声明的变量的(这个和JavaScript不一样,到时和Python类似)。

posted @ 2018-08-26 22:07  chaoguo1234  阅读(167)  评论(0编辑  收藏  举报