background image

PHP

 

     中动态创建变量名

 

 

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)是否与其中一个字段的值匹