在PHP中使用变量
我正在学习如何在PHP中使用$$,但我一直在尝试修复这段代码在PHP中使用变量,php,variables,Php,Variables,我正在学习如何在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='
<?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\u测试'
。
但是最后一句话,print\r($$now2)
不起作用,为什么?我真的不明白
非常感谢
问题是,
'now'.$item
代替'.$now'.$item
<?php
$now_test = 0;
print_r($now_test);
$item = 'test';
$now2 = 'now_'.$item;
echo $now2;
print_r($$now2);
?>
我知道这是可行的:
<?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
?>
您缺少了花括号,还需要将$,
更改已被注释使用
$now2='now.'$item代码>而不是$now2=('$now.'$item)代码>耶!它起作用了!:非常感谢!请不要在php中使用变量。他们很可怕,为什么他们很可怕?旁白:那为什么人们不看好我?这只是一个简单的PHP问题…@TakuyaMK:这个问题的答案是你首先可以通过阅读手册找到的。我想这就是为什么人们否决了你的问题。变量变量确实很糟糕,因为它们使您的命名空间中充斥着变量,使代码难以调试,同时也使代码更容易出错。如果在您的示例中,$item
后来被重新分配到'foo'
,print\r($$now2)
将创建一个名为now\u foo
的新变量,并且不再像预期的那样工作。它也可以工作,谢谢!(我不能投票给两个答案:()