如何从特定时刻开始foreach命令?

时间:2012-12-18 10:13:37

标签: php xml foreach

我在网站上使用XML导入。主要问题是执行时间和我的服务器强制执行的限制。因此我想将XML导入分割成段。我的脚本以这种方式看起来如此:

$xml = simplexml_load_file('test.xml');

foreach ($xml->products as $products) {

...

}

问题是如何从特定时刻开始 foreach 命令,例如foreach可以从100开始。我知道它可以通过以下方式完成,但有没有更简单的方法?

$n=0;
foreach ($xml->products as $products) {
$n++;
if ($n>99) { //do something }
else { //skip }

}

2 个答案:

答案 0 :(得分:3)

只需使用for循环,就可以指定要循环的范围

for($i = 100; $i < 200; $i++)
{
//do something
}

答案 1 :(得分:1)

您可以使用其他人建议的forwhile进行此操作,或者如果continue必须使用foreach,则可以使用$n=0; //you have to do this outside or it won't work at all. $min_value=100; foreach ($xml->products as $products) { $n++; if ($n<=$min_value) { continue; } //this will exit the current iteration, check the bool in the foreach and start the next iteration if the bool is true. You don't need a else here. //do the rest of the code }

{{1}}