php中的可变变量(代码详解)-php教程

资源魔 32 0

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开发自学 可变变量

抱歉,评论功能暂时关闭!