PHP 中,我们可以动态地创建一个变量名。例如,你想要使用与数据库查询得到的字
段名称一致的变量名。
使用 PHP
“
”
中 可变变量 的语法,即在一个其值为你想作为变量名称的变量前面加一
个$:
$animal = 'turtles';
$turtles = 103;
print $$animal;
在 PHP 中如果在一个变量名称前面放两个美元($)符号,PHP 就会废弃右面的变量,
“
”
而取其值,然后,将该值作为 真正 的变量名称。例如:
$animal = 'turtles';
$turtles = 103;
print $$animal;
这段代码会输出 103。因为$animal = ’turtles',$$animal 就是$turtles,而$animal 等于
103。
如果使用大括号,还能够构造出用于表示变量名的更复杂的表达式:
$stooges=array('Moe','Larry','Curly');
$stooge_moe='Moses Horwitz';
$stooge_larry='Louis Feinberg';
$stooge_curly='Jerome Horwitz';
foreach($stoogesas$s) {
print"$s's real name was ${'stooge_'.strtolower($s)}.\n";
}
Moe's real name was Moses Horwitz.
Larry's real name was Louis Feinberg.
Curly's real name was Jerome Horwitz.
PHP 会求得位于大括号之间的表达式的值,并将这个值作为一个变量名。大括号中的
表达式甚至还可以调用函数,比如上面代码中的 strtolower()
。
在迭代类似的变量名称时,可变变量也很有用。假如你想要查询一个数据库表,其字
段名分别是 title_1, title_2 等。如果你想要检查一个标题($title)是否与其中一个字段的值匹