我读了一个xml文件。里面有很多物品。例如二十。我想从五个元素开始到十个foreach,仅此而已。这是我的代码:
$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)
,但这是行不通的。如何解决这个问题?
亲切的问候
答案 0 :(得分:1)
您可以在循环之前对数组进行切片:
$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 :(得分:0)
多种可能性:
第一
$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
好一点...
第3个(@FrankerZ版本)和最好的
for ($i=4; $i<10; $i++) { echo $tablica[$i]; }
// output 5 6 7 8 9 10
答案 2 :(得分:0)