我在网站上使用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 }
}
答案 0 :(得分:3)
只需使用for循环,就可以指定要循环的范围
for($i = 100; $i < 200; $i++)
{
//do something
}
答案 1 :(得分:1)
您可以使用其他人建议的for
或while
进行此操作,或者如果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}}