2014-03-30 54 views
0

是否有可能使用for循環$ i是變量名稱的一部分?我試圖讓這個for循環列出的水果:如何使用for循環通過名稱來定位特定變量?

$item1name = "apple"; 
$item2name = "orange"; 
$item3name = "banana"; 

for($i=0, $i<2, $i++) { 
    echo = "<li>$item?????</li>"; 
} 

// should result in: 
// <li>apple</li><li>orange</li><li>banana</li> 

我意識到我可以把水果在$ ITEMNAME陣列,容易回聲$ ITEMNAME [$ i],但不是我在問什麼。當$ i是變量名稱的一部分時,可以這樣做嗎?

+2

只需使用數組即可。 –

+0

是的,這是可能的 – BlackPearl

+0

當然,我已經注意到我可以做到這一點,但這不是我要求的。謝謝@Amal。 – JoshR

回答

3

很可能與使用的variable variables

for($i=1; $i<=3; $i++) { 
    echo "<li>" . ${'item'.$i.'name'} . "</li>"; 
} 

請注意,您原來的代碼是不是語法正確。我修復了它。還請注意$i值如何更改。你的可變數字是從1到3,而不是0到1.

但我不明白你爲什麼要這樣做。只需使用數組即可。

Demo

+0

謝謝Amal。這就是我一直在尋找的。我正在使用名爲類似於$ itemXname的現有數據列。在我的情況下,它們非常簡單,可以像「array($ item1name,$ item2name,$ item3name)」那樣加載到數組中,但在無法以編程方式或列名中的數字不符合他們的索引值。再次感謝! – JoshR

+0

@JoshRencher:沒問題。很高興有幫助! –