第7章. 变量
目录列表
基础
变量的描述:在PHP中是一个美元符后跟随变量的名字。变量名是大小写敏感的。
变量名的命名与PHP中其他标签的一致。一个有效变量名是以一个字线或下划线开始的,随后是一些字线,数字或下划线。当作正则表达式看待,它将是这样的:'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
注意:一个字母是 a-z, A-Z, 和ASCII 字符127 through 255 (0x7f-0xff).
$var = "Bob";
$Var = "Joe";
echo "$var, $Var"; // 输出 "Bob, Joe"
$4site = 'not yet'; // 错误; 开始不能是数字
$_4site = 'not yet'; // 有效; 开始可以是下划线
$täyte = 'mansikka'; // 有效:'ä' 是ASCII 228.
在PHP 3中,变量通过是被赋值的。换句话说,当你分配一个表达式给一个变量时,原始表达式的值被复制到目的变量。
这意味着,分配一个变量的值到另外的变量,只改变那些变量的值不会影响其他的变量。更多的信息参见Expressions.
PHP 4提供另外的途径为变量分配值:引用分配。这意味着新的变量是简单的引用原始变量(这个新变量只是一个“化名”或“指向”)改变新变量会影响原始变量,反之亦然。这也意味着没有复制被执行:因此,分配速度更快。尽管如此,这样的加速只体现在复杂的循环或分配大的数组和对象时。
分配一个引用,只需被分配(源变量)的那个变量前加“&”号。如,下面的代码片段输出'My name is Bob'两次:
<?php
$foo = 'Bob'; // 分配值'Bob' 到 $foo
$bar = &$foo; // 通过$bar引用$foo.
$bar = "My name is $bar"; // 改变 $bar...
echo $foo; // $foo 也被改变.
echo $bar;
?>
一个重要的提示:只有一个被指定的变量可以被引用分配。
<?php
$foo = 25;
$bar = &$foo; // 这是有效的分配.
$bar = &(24 * 7); // 错误:引用了没有命名的表达式.
function test()
{
return 25;
}
$bar = &test(); // 错误.
?>