为什么当我回显$ p时,我尝试使用此循环获取的变量不会显示在路径中。
$name_image2="picture.jpg";
for ($i=2; $i<=$nr_of_pics; $i++){
$img='name_image'.$i;
echo $$img;
告诉我:'picture.jpg
'这是正确的。
但是当像这样回应$ p时:
$p="/SV/main/temp_images/$$img"; echo $p;
我明白了:SV/main/temp_images/name_image2
- &gt;变量'name_image2'在这里没有被调用,为什么?
我希望它说:SV/main/temp_images/picture.jpg
由于
答案 0 :(得分:2)
$p = "/SV/main/temp_images/" . $$img;
应该解决它。
另外,我建议学习如何使用数组。它们是获得一组数据而不是变量变量的更好方法。
答案 1 :(得分:1)
尝试$p="/SV/main/temp_images/{${$img}}";
当PHP解析字符串并转到$时,它会查看下一个字符以查看它是否生成有效的变量名称。如果没有,它继续前进。在这种情况下,这意味着第二个$被正确解释,但第一个已经被传递。答案是将内部表达式括在括号中,以便在外部表达式之前进行解析。