这一小段代码的一些快速帮助

时间:2009-11-17 21:53:37

标签: php

为什么当我回显$ 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

由于

2 个答案:

答案 0 :(得分:2)

$p = "/SV/main/temp_images/" . $$img;

应该解决它。

另外,我建议学习如何使用数组。它们是获得一组数据而不是变量变量的更好方法。

答案 1 :(得分:1)

尝试$p="/SV/main/temp_images/{${$img}}";

当PHP解析字符串并转到$时,它会查看下一个字符以查看它是否生成有效的变量名称。如果没有,它继续前进。在这种情况下,这意味着第二个$被正确解释,但第一个已经被传递。答案是将内部表达式括在括号中,以便在外部表达式之前进行解析。