我正在学习如何在PHP中使用$$,但我一直试图修复此代码。
<?php
$now_test = 0;
print_r($now_test);
$item = 'test';
$now2 = ('$now_'.$item);
echo $now2;
print_r($$now2);
?>
第一个print_r
向我显示了0
,即预期值。
之后,我合并了'$now_'
和$item
,并使用echo进行测试,因此我可以看到$now2 = '$now_test'
。
但是最后的陈述,print_r($$now2)
将不起作用,为什么?我真的不明白。
非常感谢!
答案 0 :(得分:1)
<强> Demo 强>
问题是;
'now_'.$item
代替'$now_'.$item
您可以使用以下内容;
<?php
$now_test = 0;
print_r($now_test);
$item = 'test';
$now2 = 'now_'.$item;
echo $now2;
print_r($$now2);
?>
答案 1 :(得分:0)
我知道这有效:
<?php
$now_test = 0;
print_r($now_test);
$item = 'test';
$now2 = ('now_'."$item"); //NO $ in string
echo $now2;
print_r(${$now2}); //added braces around $now2
?>
你错过了花括号,你也需要省略$, 更改已被评论