php中的可变变量
有时分应用可变变量名是很不便的。就是说,一个变量的变量名能够静态的设置以及应用。一个一般的变量经过申明来设置,例如:
<?php $a = 'hello'; ?>
一个可变变量猎取了一个一般变量的值作为这个可变变量的变量名。正在下面的例子中 hello 应用了两个美圆符号($)当前,就能够作为一个可变变量的变量了。
示例一:
<?php $$a = 'world'; ?>
这时候,两个变量都被界说了:$a 的内容是“hello”而且 $hello 的内容是“world”。
示例二:
<?php echo "$a ${$a}"; ?>
与如下语句输入齐全相反的后果:
<?php echo "$a $hello"; ?>
它们城市输入:hello world。
要将可变变量用于数组,必需处理一个不置可否的成绩。
这就是当写下 $$a[1] 时,解析器需求晓得是想要 $a[1] 作为一个变量呢,仍是想要$$a 作为一个变量并掏出该变量中索引为 [1] 的值。
处理此成绩的语法是,对第一种状况用 ${$a[1]},对第二种状况用 ${$a}[1]。
类的属性也能够经过可变属性名来拜访。可变属性名将正在该挪用所处的范畴内被解析。例如,关于 $foo->$bar 表白式,
则会正在内陆范畴来解析 $bar 而且其值将被用于 $foo 的属性名。
关于 $bar 是数组单位时也是同样。
也可以使用花括号来给属性名明晰定界。最有用是正在属性位于数组中,或许属性名蕴含有多个局部或许属性名蕴含有合法字符时(例如来自json_decode() 或 SimpleXML)。
示例:
<?php class foo { var $bar = 'I am bar.'; var $arr = array('I am A.', 'I am B.', 'I am C.'); var $r = 'I am r.'; } $foo = new foo(); $bar = 'bar'; $baz = array('foo', 'bar', 'baz', 'quux'); echo $foo->$bar . " "; echo $foo->$baz[1] . " "; $start = 'b'; $end = 'ar'; echo $foo->{$start . $end} . " "; $arr = 'arr'; echo $foo->$arr[1] . " "; echo $foo->{$arr}[1] . " "; ?>
以上例程会输入:
I am bar. I am bar. I am bar. I am r. I am B.
感激各人的浏览,心愿各人曾经学会了可变变量。
本文转自:https://www.cnblogs.com/ryanzheng/p/9133381.html
保举教程:《php教程》
以上就是php中的可变变量(代码详解)的具体内容,更多请存眷资源魔其它相干文章!
标签: php php开发教程 php开发资料 php开发自学 可变变量