2012-10-30 69 views
0

我有一張表,每行包含5列,其中可能包含或不包含圖像文件名。比方說,我已經檢索到該行並將其放入關聯數組中。我想循環播放這些圖像文件名(cols可能或不可以全部填充)到html標記中,但只有當該列中有圖像文件名時纔可以。有沒有比這更好的方式來做到這一點?循環訪問特定的數組元素

for ($i = 1; $i < 6; $i++){ 
if($item_array['image_' . {$i}]{ 
echo "<li><img src=\"images/work-items/$item_array['image_' . {$i} . '.jpg'\"/></li>" 
} 
+0

你如果括號是不封閉。也沒有分號。猜猜這是僞代碼,所以我的觀點是沒有意義的。 –

+0

嘗試'if(!empty($ item_array ['image_'。{$ i}])){' – air4x

+0

@Asad:或者括號未關閉。 :) – JvdBerg

回答

3

你的語法是所有的地方:

for ($i = 1; $i < 6; $i++){ 
    if(isset($item_array['image_' . $i])){ 
     echo '<li><img src="images/work-items/'. $item_array['image_' . $i] . '.jpg"/></li>'; 
    } 
} 
+0

「isset」有什麼區別嗎?無論如何,我認爲填充數組元素會等於TRUE? –

+0

isset()在項目包含空字符串時不起作用。 – theredled

+0

如果一個特定的數組索引不存在,並且您嘗試輸出它,PHP將會吐出警告通知。 –