-
2.变量
php的变量是非常有意思的,上例中“$StrOutput”就是一个变量,可以看到变量前面都有一个“$”(美元)符号,所以非常好区分变量和程序里别的语句,同时
php中的变量是可以不用预先定义而直接在代码里的,而且使用了“$”这样的符号,可以使我们的程序获得更大的自由,不但可以象平常一样变量,还可以在一个字符串里直接写,而
php能自动获得变量的值,但是
php对大小写区分很严格,在上面的例子中就很清楚的说明了这一点。
(1)变量的作用范围
php里的变量可以直接,我们定义了一个页面级的变量,它和在函数里的同名变量之间有什么关系?这就是变量的作用范围问题,如下例:
范例test2_2.
php <?
php $strtest="你说";
function output1()
{
echo $strtest;
}
function output2()
{
global $strtest;
echo $strtest;
}
output1(); //输出:
output2(); //输出:你说
?>
从上例可以看出,
php如果直接在函数中与页面变量同名的变量,它会认为函数的变量是一个新的变量,当然什么也不输出,但如果我们在其前面增加一个“global”的话,就可以得到页面的同名变量的值,另一种同样的方法是$GLOBALS["strtest"];
(2)变量的变量
在
php中变量与许多常用语言最大的区别就是增加了一个‘$’前缀,为什么单独拿出来讲呢?因为有了这一个前缀,同样增加了
php的独特的一种处理方式,一个前缀代表普通的变量,但是两个前缀呢?这就是变量的变量,这样说
大家可能有些不明白,请看下例。
范例:test2_3.
php <?
$name=″hello″;
$$name=″world″; //等同于$hello=″world″;
echo ″$name $hello″; //输出:hello world
echo ″$name $$name″; //同样输出:hello world
for($i=1;$i<=5;$I++)
{
${var."$i"}=$i;
}
echo $var3; //输出:3
?>
大家从上面的例子基本上可以理解$$name了,
php的标准定义则是${$name}。我们有了变量的变量就可以实现动态增加变量了,这简直就是神奇。