我读取了一个xml文件。它有很多项。例如二十。我想从五个元素开始到十个元素,仅此而已。这是我的代码:
$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)
,但这不是工作。如何解决这个问题?
亲切的问候
发布于 2018-08-02 03:56:25
有几种可能性:
第一个
$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
缺点:遍历不需要的元素
第二位
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的版本),也是最好的
for ($i=4; $i<10; $i++) { echo $tablica[$i]; }
// output 5 6 7 8 9 10
发布于 2018-08-02 03:58:53
您可以在循环之前对数组进行切片:
$tablica = array('1 ', '2 ', '3 ', '4 ', '5 ', '6 ', '7 ', '8 ', '9 ', '10 ');
foreach (array_slice($tablica, 4, 6) as $a => $b) {
print_r($b);
}
https://stackoverflow.com/questions/51641132
复制相似问题