有人可以解释这项任务发生了什么吗? 我在哪里可以阅读手册?
${0} = 1;
答案 0 :(得分:1)
${0}
是一种用数字命名变量的方法,但是你必须确保以相同的方式调用变量,因为$0
将不起作用。
更多例子:
${'foo'} = 'bar';
echo $foo;
将回显bar
,因为${'foo'} =
和$foo =
基本相同。
这允许您在变量定义中执行字符串操作:例如:
$string = 'foobar';
${str_replace('foo','bar',$string)} = 'foofoo';
echo $barbar;
将回复foofoo
此外,在解析后的字符串中使用大括号围绕变量将确保解析器不会混淆。例如:
$car = "Buick";
echo "The cars were all $cars"; // won't work because it will look for variable $cars
echo "The cars were all {$car}s"; // OR
echo "The cars were all ${car}s"; // will both echo The cars were all Buicks
变量名中花括号的用途更多,请参阅其他答案中的链接以了解更多信息。
答案 1 :(得分:0)
请记住,花括号字面意思是“评估花括号内的内容”,因此,您可以将变量变量创建压缩成一行,如下所示:
<?php
${"title_default_" . $title} = "selected";
?>
然后,例如:
<?php
$title_select = '
<select name="title">
<option>Select</option>
<option $title_default_Mr value="Mr">Mr</option>
<option $title_default_Ms value="Ms">Ms</option>
<option $title_default_Mrs value="Mrs">Mrs</option>
<option $title_default_Dr value="Dr">Dr</option>
</select>';
echo $title_select;?>
您可以阅读有关此http://docs.php.net/manual/en/language.variables.variable.php
的更多信息我们可以玩更多!
你不能使用'普通'全局变量来访问它们,但是花括号形式的工作原理就像通过$ GLOBALS超全局变量获取它们一样!值被转换为字符串,这就是为什么0xFF =&gt; '255'等等。
${007} = 'Hello Peter'; // $GLOBALS['7']
${0xFF} = 'Hello Peter'; // $GLOBALS['255']
${2 + 2} = 'Hello Peter'; // $GLOBALS['4']
${'Hello Peter'} = 'Hello Peter'; // $GLOBALS['Hello Peter']
${'cats, pet food, dogs'} = 'Hello Peter'; // $GLOBALS['cats, pet food, dogs']
答案 2 :(得分:0)
这称为Variable Variables
。虽然这不是一个好用法,因为它设法定义一个名为${0}
的变量。
您可以在此处详细了解:http://php.net/manual/en/language.variables.variable.php