Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环剩余值的PHP_Php_Loops_For Loop - Fatal编程技术网

循环剩余值的PHP

循环剩余值的PHP,php,loops,for-loop,Php,Loops,For Loop,有没有更专业或更简单的方法来实现PHP for循环,在只有剩余元素时也会进行迭代?(在当前示例中:1126) …这是正确的,但是看起来代码太多了。好吧,由于循环已经有了continue决策,所以总是有东西要输出,因为$max已经是出口: 示例/: 接下来的只是一些老玩家在玩 要准确地创建输出(末尾带有逗号),可以使用另一种循环,在循环后检查循环: 示例/: 或者,为什么不为创建一个输出处于前置条件的循环 示例/: 因为循环已经有了continue决策,所以总是有东西要输出,因为$max已经是

有没有更专业或更简单的方法来实现PHP for循环,在只有剩余元素时也会进行迭代?(在当前示例中:1126)


…这是正确的,但是看起来代码太多了。

好吧,由于循环已经有了continue决策,所以总是有东西要输出,因为
$max
已经是出口:

示例/:

接下来的只是一些老玩家在玩


要准确地创建输出(末尾带有逗号),可以使用另一种循环,在循环后检查循环:

示例/:


或者,为什么不为创建一个输出处于前置条件的
循环

示例/:


因为循环已经有了continue决策,所以总是有东西要输出,因为
$max
已经是出口了:

示例/:

接下来的只是一些老玩家在玩


要准确地创建输出(末尾带有逗号),可以使用另一种循环,在循环后检查循环:

示例/:


或者,为什么不为
创建一个输出处于前置条件的
循环

示例/:


我不知道我的解决方案是否更专业,但它至少给了你一个不同的解决方案;)

$showSteps=函数($max,$step){
$arr=array();
对于($i=$step;$i 0){
$arr[]=intval($max/$step)*$step+$max%$step;
}
打印内爆(“,”,$arr);
};
$showSteps(111262000);

我不知道我的解决方案是否更专业,但它至少为您提供了一个不同的解决方案;)

$showSteps=函数($max,$step){
$arr=array();
对于($i=$step;$i 0){
$arr[]=intval($max/$step)*$step+$max%$step;
}
打印内爆(“,”,$arr);
};
$showSteps(111262000);

这个答案显然缺少jquery。难怪你被否决了!这个答案显然缺少jquery。难怪你被否决了!
<?php
$max = 11126;
$step = 2000;

for ($i = 0; $i < $max; null) {
    if ($max - $i > $step) {
        $i += $step;
    } else {
        $i += $max - $i;
    }

    echo($i . ", ");
}

?>
2000, 4000, 6000, 8000, 10000, 11126, 
for ($i = 0;  ($i += $step) < $max;) {
    echo $i, ', ';
}
echo $max;
2000, 4000, 6000, 8000, 10000, 11126
$i = 0;
do {
   $i += $step;
   echo min($i, $max), ', ';
} while ($i < $max);
2000, 4000, 6000, 8000, 10000, 11126, 
for (
   $i = 0;
   printf('%d, ', min($i += $step, $max)) 
   && ($i < $max);
);
2000, 4000, 6000, 8000, 10000, 11126, 
$showSteps = function($max, $step) {
    $arr = array();
    for ($i = $step; $i <= $max; $i = $i + $step) {
        $arr[] = $i;
    }

    if (($max % $step) > 0) {
        $arr[] = intval($max/$step) * $step + $max % $step;
    }

    print implode(', ', $arr);    
};

$showSteps(11126, 2000);