2012-10-30 42 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将会吐出警告通知。 –