2011-06-13 238 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