加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

执行PHP循环,直到数组OR到达一定数量的迭代?

发布时间:2020-12-13 14:09:52 所属栏目:PHP教程 来源:网络整理
导读:我希望收到一个数组作为输入,从它的过滤值,并作为另一个数组输出.该函数应循环遍历x次迭代. 例如,如果我想从输入输出所有的值,我会使用: ?php$i=0;foreach ($array as $data) { if ($data['type'] != 'some_value') { $formatted_array[$i] = $data; $i++;
我希望收到一个数组作为输入,从它的过滤值,并作为另一个数组输出.该函数应循环遍历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循环,但它似乎陷入无限循环.

我不是贸易开发商,所以逻辑很难理解.我没有得到错误,所以很难理解我错在哪里.

如何在数组结束之前执行PHP循环,直到函数达到一定次数的迭代?

你在正确的轨道 – 你可以退出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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读