如何在第 x 个元素后停止递减迭代?

How to stop a decreasing iteration after xth element?

所以我有一个正在递减的 for 循环...

for ($i=count($array); i>0; $i--;)
{
 if(condition)
 {DO SOMETHING like print the element in a decreasing manner}
 if(enter ending iteration condition here after xth element) break;
}

这几乎总结了我的问题。我如何制定结束迭代 - 假设在打印 5 个元素后我想停止迭代。

$j = 0;
for ($i=count($array); $i>0; $i--)
{
    if(condition)
    {
        DO SOMETHING like print the element in a decreasing manner;
        $j++;
    }
    if($j > 4){
        break;
    }
}

尝试反转循环计数。不要减少,而是尝试增加,这样您就可以计算出正在打印的项目数量。

<?php
for ($i = 0; $i < count($array); $i++)
{
    if(condition)
    {
        /* DO SOMETHING like print the element in a decreasing manner */
    }

    /* replace (nth) with the needed number */
    if($i === (nth)) break;
}

您可以根据计数设置限制,例如:

$loop_limit = 5;
$array_count = count($array);
$last = $array_count - $loop_limit;

for ($i = $array_count; $i >= $last ; --$i) {
    if ( $i == $last ) {
            //Do whatever you need at this point
    }
    //do the normal loop action
}