限制和偏移foreach循环

mrp*_*atg 4 php

假设我想循环遍历XML节点但我想忽略前10个然后将我抓到的数量限制为10.

$limit=10; //define results limit
$o=20; //define offset
$i=0; //start line counter

foreach($xml->id AS $key => $value){
    $i++;
    if($i > $o){
    //if line number is less than offset, do nothing.
    }else{ 
    if($i == "$limit"){break;} //if line is over limit, break out of loop
    //do stuff here
    }
}
Run Code Online (Sandbox Code Playgroud)

所以在这个例子中,id想要从结果20开始,并且只显示10个结果,然后突破循环.虽然不行.有什么想法吗?

sou*_*rge 7

那里有多个错误.它应该是

foreach (...
    if ($i++ < $o) continue;
    if ($i > $o + $limit) break;
    // do your stuff here
}
Run Code Online (Sandbox Code Playgroud)