Bir tuş yoluyla doğrudan bir XML düğümü erişme

0 Cevap php
$xml = simplexml_load_file($xmlPath);
$items = $xml->list->item;
...
echo $items[$currentIndex]->asXML();

When I print out $currentIndex on each iteration, I get 0, 1, 2, 3, 4, etc. When I hard code $items[0]->asXML(); $items[1]->asXML(); $items[2]->asXML(); etc. I get the data I want.

Ama ne zaman ben ilk kod segmentte, bu öğeleri 0, 2, 4, vb yazdıran yok gibi döngü

Bu nasıl mümkün ve ne bu neden olabilir?

Thanks, Ryan

ADDED INFO:

Bu onun ana parçasıdır:

$totalItems = 45;
$keepItems = 10;
$currentIndex = 0;

while($totalItems > $keepItems)
{
    $totalItems -= 1;
    print_r($xml->list->item[$currentIndex]);
    $currentIndex += 1;
}

Ben sadece ayrı bir dosyada bu çalıştı ve bu örneği çalıştı:

$xml = simplexml_load_file($xmlPath);
$items = $xml->list->item;

$counter = 45;
$display = 0;

while($counter > 4)
{
    echo $items[$display]->asXML();

    $display += 1;
    $counter -= 1;
}

Yani benim diğer kodunda bir şey olabilir yapıyor. Ben biraz daha de ona bakmak zorunda kalacak, ancak belirgin kesin bir şey için.

Thanks, Ryan

ADDED INFO 2:

Tamam, ben bu "her biri" sendromuna neden olan kod satırını tespit :)

unset($items[$currentIndex]);

Düşünce ben veriler kullanılmıştır kez / unset bir öğeyi kaldırmak için, ama beklediğim şekilde çalışmak için görünmüyor - Herkes neden bir fikir var mı? Neden o göstermemiştir şey unsetting edilir?

Thanks, Ryan

0 Cevap