如果 foreach = 4 元素,则显示其他代码


IF foreach = 4 element then display other code

您好,我在显示项目方面有问题。

我有这个代码:

$counter = 0;
foreach ($results as $result){                  
    if(++$counter === 1) {
        $outtext .= "<li><img src='".$result."' alt='".$key." czasoumilacz'/></li>"; 
    } else if (++$counter === 2){
        $outtext .= "<li><img src='".$result."' alt='".$key." granie na czekanie'/></li>"; 
    } else if (++$counter === 3){
        $outtext .= "<li><img src='".$result."' alt='".$key." halodzwonek'/></li>"; 
    } else if (++$counter === 4){
        $outtext .= "<li><img src='".$result."' alt='".$key." muzyka na czekanie'/></li>"; 
    } else if (++$counter === 5){
        $outtext .= "<li><img src='".$result."' alt='".$key." halo granie'/></li>"; 
    } else {
        $outtext .= "<li><img src='".$result."' alt='".$key." czasoumilacz'/></li>"; 
    }  
}

我尝试做这样的事情:

如果 foreach 有第二个元素,我将显示:

$outtext .= "<li><img src='".$result."' alt='".$key." granie na czekanie'/></li>"; 

接下来,如果foreach将给出第5个元素,它将显示不同的代码:

$outtext .= "<li><img src='".$result."' alt='".$key." czasoumilacz'/></li>"; 

因此,对于每个其他元素,我希望显示不同的值。这是怎么回事??我的代码显示总是最后一个条件。

你可以通过使用

foreach 循环来获取计数器,如下所示

foreach ($results as $counter => $result){                  
    if($counter === 1) {
        $outtext .= "<li><img src='".$result."' alt='".$key." czasoumilacz'/></li>"; 
    } else if ($counter === 2){
        $outtext .= "<li><img src='".$result."' alt='".$key." granie na czekanie'/></li>"; 
    } else if ($counter === 3){
        $outtext .= "<li><img src='".$result."' alt='".$key." halodzwonek'/></li>"; 
    } else if ($counter === 4){
        $outtext .= "<li><img src='".$result."' alt='".$key." muzyka na czekanie'/></li>"; 
    } else if ($counter === 5){
        $outtext .= "<li><img src='".$result."' alt='".$key." halo granie'/></li>"; 
    } else {
        $outtext .= "<li><img src='".$result."' alt='".$key." czasoumilacz'/></li>"; 
    }  
}

带有switch运算符的优化版本:

在 switch 语句中,条件仅计算一次...

foreach ($results as $counter => $result){ 
    $li_part = "<li><img src='".$result."' alt='".$key;                 
    switch ($counter) {
        case 1:
            $outtext .= $li_part ." czasoumilacz'/></li>";
            break; 
        case 2:
            $outtext .= $li_part ." granie na czekanie'/></li>";
            break;
        case 3:
            $outtext .= $li_part ." halodzwonek'/></li>"; 
            break;
        case 4:
            $outtext .= $li_part ." muzyka na czekanie'/></li>";
            break;
        case 5:
            $outtext .= $li_part ." halo granie'/></li>";
            break;
        default:
            $outtext .= $li_part ." czasoumilacz'/></li>"; 
    }  
}