0

Webサイトに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 }

}
4

2 に答える 2

3

ループする範囲を指定するよりも、forループを使用するだけです

for($i = 100; $i < 200; $i++)
{
//do something
}
于 2012-12-18T10:19:09.237 に答える
1

あなたは他の人が提案しforたようなものでそれを行うことができます、あるいはそれが:でなければならない場合は使用することができますwhilecontinueforeach

$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
}
于 2012-12-18T10:29:51.863 に答える