2011-06-13 180 views
0

我的意图是输出$car1,$car2有一个列表在HTML输出,如丰田,宝马,......但我在$car2在HTML输出。如何让循环输出$car1,$car2 ...有没有其他的功能,回声做到这一点?字符串和变量输出变量

for ($i = 1; $i <= 10; $i++) { 
    echo $car . $i; 
    echo "<br>"; 
} 
+0

'echo'不是一个函数,而你,就是''
。 – 2011-06-13 14:28:21

回答

1

您正在寻找variable variables

for ($i = 1; $i <= 10; $i++) { 
    $varName = "car" . $i; 
    echo $$varName . "<br />"; 
} 

,或者简称:

for ($i = 1; $i <= 10; $i++) { 
    echo ${'car' . $i} . "<br />"; 
} 

你会用arrays更好,虽然。

+0

谢谢。这很好。 – 2011-06-13 14:51:08

+0

@BenMatewe:不用担心。不要忘记检查数组。 – 2011-06-13 15:55:47

+0

谢谢。他们当然非常强大,并且大幅缩减了我的代码。 – 2011-06-13 16:41:01

0

我猜:

您有一个名为一组变量:

  • $ CAR 1
  • $ CAR2
  • $的Car3
  • $ CAR4
  • ...

现在你要输出他们使用这样的:

echo $car . $i; 

所以,你想要的代码的generate $car1适合你?

这不起作用。 你不应该这样做。您应该使用array来保存您的汽车。这可以循环使用for或foreach -loop。

+1

它可以工作。这不是最好的方法,但“这不行”是不正确的。 – 2011-06-13 14:32:16

+0

哦。我必须自己测试,直到我相信它,但你是对的。无论如何,数组是在这里使用的东西。 – 2011-06-13 14:35:40

+0

同意。因此,我从没有倒下。 :) – 2011-06-13 14:35:53

0

As Tomalak提到,在这种情况下应该使用数组。

$car[] = "Honda"; 
$car[] = "Toyota"; 
$car[] = "Dodge"; 
$car[] = "Ford"; 

for($i = 0; $i<=3; $i++){ 
    echo $car[$i]; 
    echo "<br>"; 
} 

输出:

Honda 
Toyota 
Dodge 
Ford 
+0

感谢您的输入。指出阵列点。 – 2011-06-13 14:58:16