我有一個非常令人沮喪的問題,我不能導致。它只是沒有加起來。PHP的陣列()W /的foreach如果僅使用環。=構建結果
我傳遞一個數組上的foreach()處理,像這樣:
if (is_array($seminar)) {
foreach ($seminar as $sem_id)
$sem_id_list .= "$sem_id";
echo "$sem_id<br />";
}
正如你可以看到我的陣列()是$研討會,並輸出看起來像這樣:
Array
(
[0] => 3
[1] => 8
[2] => 9
[3] => 13
[4] => 14
[5] => 15
)
正如你可以在我的代碼中看到,我建立一個塊W/=。 like:* $ sem_id_list。=「$ sem_id」; *和回顯出來的樣子如:389131415如預期。
但是,當我只是試圖迭代和打印每個值,如:* echo「$ sem_id
」; *我只得到最後一個數組()項!
我從來沒有遇到過這個問題。我猜我在這裏錯過了一些簡單的事情,但從我所有的經驗來看,這應該是可行的,並且打印這些結果就好了。
作爲一個側面說明,後續代碼var_dump($研討會);產生這種太:
array(6) { [0]=> string(1) "3" [1]=> string(1) "8" [2]=> string(1) "9" [3]=> string(2) "13" [4]=> string(2) "14" [5]=> string(2) "15" }
如果OP已經正確縮進他的代碼,這將是非常明顯的。 –
是的,就是這樣。我不敢相信我錯過了!我猜想一組新的眼睛可以看到更多。 – OldWest
請注意,OP的代碼在技術上仍然有效,這不是他想要做的。新行+縮進是一種避免括號或冒號的方法,但是隻有下一行會在塊中執行,這就是爲什麼第二行只打印最後一個項目的原因,因爲$ sem_id成爲一個全局變量,僅由最後一次迭代。另一個答案試圖解釋這一點。 –