首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在PHP5.6中从五个元素开始foreach

如何在PHP5.6中从五个元素开始foreach
EN

Stack Overflow用户
提问于 2018-08-02 03:39:17
回答 3查看 404关注 0票数 1

我读取了一个xml文件。它有很多项。例如二十。我想从五个元素开始到十个元素,仅此而已。这是我的代码:

代码语言:javascript
复制
$tablica = array('1 ', '2 ', '3 ', '4 ', '5 ', '6 ', '7 ', '8 ', '9 ', '10 ');
foreach ($tablica as $a => $b) {
    if($a < 4 )
        continue;
        print_r ($b);

}

结果是:6 7 8 9 10,所以效果很好。但是如何添加第二个条件呢?例如:if($a < 4 && $a ? 10),但这不是工作。如何解决这个问题?

亲切的问候

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-08-02 03:56:25

有几种可能性:

第一个

代码语言:javascript
复制
$tablica = array('1 ', '2 ', '3 ', '4 ', '5 ', '6 ', '7 ', '8 ', '9 ', '10 ', '11 ', '12 ');
foreach ($tablica as $a => $b) {
    if($a < 4 || $a >= 10) {  // the || (= "OR") is the main difference to your version
        continue;
    }
    print_r ($b);
}
// output 5 6 7 8 9 10

缺点:遍历不需要的元素

第二位

代码语言:javascript
复制
foreach ($tablica as $a => $b) {
    if($a < 4) {
        continue;
    }
    if($a>=10) {  // break the loop if we've reached the 10th item
       break;
    }
    print_r ($b);
}
// output 5 6 7 8 9 10

好一点了。

第三个(@FrankerZ的版本),也是最好的

代码语言:javascript
复制
for ($i=4; $i<10; $i++) { echo $tablica[$i]; }
// output 5 6 7 8 9 10
票数 0
EN

Stack Overflow用户

发布于 2018-08-02 03:58:53

您可以在循环之前对数组进行切片:

代码语言:javascript
复制
$tablica = array('1 ', '2 ', '3 ', '4 ', '5 ', '6 ', '7 ', '8 ', '9 ', '10 ');
foreach (array_slice($tablica, 4, 6) as $a => $b) {
    print_r($b);
}
票数 1
EN

Stack Overflow用户

发布于 2018-08-02 03:56:26

如果你想限制总是从第5个元素开始,到第10个元素结束,你可以使用in_arrayrange的组合来寻找你想要的东西。

代码语言:javascript
复制
$tablica = ['1 ', '2 ', '3 ', '4 ', '5 ', '6 ', '7 ', '8 ', '9 ', '10 '];
foreach ($tablica as $a => $b) {
    if (in_array($a, range(4, 9))) {
        print_r($b);
    }
}

结果:

代码语言:javascript
复制
5 6 7 8 9 10
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51641132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档