天天看点

php动态拼接变量名,可变变量,动态变量,使用花括号,使用两个$符

php动态拼接变量名,可变变量,动态变量,使用花括号,使用两个$符 方式一:使用花括号,前缀部分不需要用单引号 $nums10 = 100; $xxx*${bcount.$nums10}['m54']/$nums10 方式二:使用两个$符,先给key赋值最终的变量名称,后面才当成真正的变量使用。 $nkey = 'bcount'.$nums10; $xxx*$$nkey['m54']/$nums10

php动态拼接变量名,可变变量,动态变量,使用花括号,使用两个$符

方式一:使用花括号,前缀部分不需要用单引号

$nums10 = 100;

$xxx*${bcount.$nums10}['m54']/$nums10

方式二:使用两个$符,先给key赋值最终的变量名称,后面才当成真正的变量使用。

$nkey = 'bcount'.$nums10;

$xxx*$$nkey['m54']/$nums10

=================

PHP可以动态地创建一个变量名。如:使用与数据库查询得到的字段名称一致的变量名。

使用PHP中“可变变量”的语法:在一个其值为你想作为变量名称的变量前面加一个$:

$animal = 'turtles';

$turtles = 103;

print $$animal;

在PHP中如果在一个变量名称前面放两个美元($)符号,PHP就会废弃右面的变量,而取其值,然后,将该值作为“真正”的变量名称。例如:

$turtles = 1024;

这段代码会输出1024。因为$animal = ’turtles',$$animal 就是$turtles,而$turtles等于1024。

如果使用大括号,还能够构造出用于表示变量名的更复杂的表达式:

$stooges = array('Moe','Larry','Curly');

$stooge_moe = 'Moses Horwitz';

$stooge_larry = 'Louis Feinberg';

$stooge_curly = 'Jerome Horwitz';

foreach ($stooges as $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)是否与其中一个字段的值匹配,那么最简单的方式就是像下面这样进行循环遍历:

for ($i = 1; $i <= $n; $i++) {

  $t = "title_$i";

  if ($title == $$t) { /* match */ }

大自然,飘然的风,QQ群: python技术交流群:453879716,人工智能深度学习群:251088643

golang技术交流群:316397059,vuejs技术交流群:458915921 渗透技术:534096581,囤币一族:621258209,有兴趣的可以加入

微信公众号: 心禅道(xinchandao)