Php 通过特定数组元素循环

Php 通过特定数组元素循环,php,Php,我有一个表,每行包含5列,其中可能包含图像文件名,也可能不包含图像文件名。假设我已检索该行并将其放入assoc数组中。我想循环并将这些图像文件名(COL可能会填充,也可能不会全部填充)回显到html标记中,但前提是该列中包含图像文件名。还有比这更好的方法吗 for ($i = 1; $i < 6; $i++){ if($item_array['image_' . {$i}]{ echo "<li><img src=\"images/work-items/$item_arr

我有一个表,每行包含5列,其中可能包含图像文件名,也可能不包含图像文件名。假设我已检索该行并将其放入assoc数组中。我想循环并将这些图像文件名(COL可能会填充,也可能不会全部填充)回显到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>"
}  
($i=1;$i<6;$i++)的
{
if($item_数组['image_u.{$i}]{
回声“
  • ” }
    你的语法到处都是:

    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>';
        }
    }
    
    ($i=1;$i<6;$i++)的
    {
    if(isset($item_数组['image.'$i])){
    回音“
  • ”; } }
    你的语法到处都是:

    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>';
        }
    }
    
    ($i=1;$i<6;$i++)的
    {
    if(isset($item_数组['image.'$i])){
    回音“
  • ”; } }
    if括号未闭合。也没有分号。我猜这是伪代码,所以我的观点没有意义。请尝试
    if(!empty($item_数组['image.'.{$i}]){
    @Asad:或者for括号未闭合。:)您的解决方案正常(细节除外),你想要什么更好?简单一点。如果列计数不太可能改变,如果你没有在代码中写43次,那么就硬编码,没有pb。你的If括号是未闭合的。也没有分号。我猜这是伪代码,所以我的观点没有意义。试试
    If(!empty($item_数组['image.'{$i}]){
    @Asad:或for括号未闭合。:)您的解决方案没有问题(细节除外),您希望哪一个更好?简单点。如果列计数不太可能更改,并且如果您没有在代码中写入43次,则对其进行硬编码,没有pb。“isset”是否有什么区别吗?我认为填充的数组元素无论如何都会等于TRUE?如果某个数组索引不存在,而您试图输出它,PHP会发出警告通知。我猜它一直存在。无论如何,如果您想检查这种情况,最好使用
    !empty()
    但我不会尝试输出空数组索引,因为条件是只有在为真/填充的情况下它才会被echo'd…?如果使用if($item_数组['image'.$I]),如果“'image'.$I”不作为数组索引存在,它将抛出警告。“isset”是否有什么区别吗?我认为填充的数组元素无论如何都会等于TRUE?如果某个数组索引不存在,而您试图输出它,PHP会发出警告通知。我猜它一直存在。无论如何,如果您想检查这种情况,最好使用
    !empty()
    但我不会尝试输出空数组索引,因为条件是只有在为真/填充的情况下才会返回…?如果使用if($item_数组['image.'$I]),如果“'image.'$I”不作为数组索引存在,它将抛出警告。