我希望收到一个数组作为输入,从它的过滤值,并作为另一个数组输出.该函数应循环遍历x次迭代.
例如,如果我想从输入输出所有的值,我会使用:
<?PHP $i=0; foreach ($array as $data) { if ($data['type'] != 'some_value') { $formatted_array[$i] = $data; $i++; } } return $formatted_array;
但是如果$array有一个大的索引,那么$formatted_array会比我需要的要大.我尝试使用一个具有多个条件的for循环,但它似乎陷入无限循环.
我不是贸易开发商,所以逻辑很难理解.我没有得到错误,所以很难理解我错在哪里.
你在正确的轨道 – 你可以退出foreach循环,当你达到你的计数.您使用foreach遍历整个数组,如果您没有达到规定的最大数量,则将处理整个数组.但是如果你达到最大值,跳出循环.
$i = 0; // Don't allow more than 5 if the array is bigger than 5 $maxiterations = 5; foreach ($array as $data) { if ($i < $maxiterations) { if ($data['type'] != 'some_value') { $formatted_array[$i] = $data; $i++; } } else { // Jump out of the loop if we hit the maximum break; } } return $formatted_array;