我基本上需要一个foreach循环内的东西,它会跳过数组的前10次迭代。
foreach($aSubs as $aSub){
if($iStart > '0')
//Skip first $iStart iterations. Start at the next one
}
由于
答案 0 :(得分:26)
启动计数器并使用continue
跳过前十个循环:
$counter = 0 ;
foreach($aSubs as $aSub) {
if($counter++ < 10) continue ;
// Loop code
}
答案 1 :(得分:2)
使用迭代器:
$a = array('a','b','c','d');
$skip = 2;
foreach (new LimitIterator(new ArrayIterator($a), $skip) as $e)
{
echo "$e\n";
}
输出:
c
d
或使用索引(如果数组具有0 ... n-1中的整数键):
foreach ($a as $i => $e)
{
if ($i < $skip) continue;
echo "$e\n";
}
答案 2 :(得分:0)
如果 $ aSubs 不是实现 Iterator 的类的对象,并且索引是连续的整数(从零开始),则更容易:< / p>
$count = count($aSubs);
for($i = 9, $i < $count; $i++) {
// todo
}
答案 3 :(得分:0)
实际上,您不需要使用$counter
循环的优势声明另一个变量foreach
,如下所示:
foreach ($aSubs as $index => $aSub) {
if ($index < 10) continue;
// Do your code here
}
这比在foreach循环之外声明另一个变量更好。