$xml = simplexml_load_file($xmlPath);
$items = $xml->list->item;
...
echo $items[$currentIndex]->asXML();
当我在每次迭代打印出$ CURRENTINDEX,我得到0,1,2,3,4等 当我硬码$项[0] - > asXML(); $项目[1] - > asXML(); $项[2] - > asXML();等我得到我想要的数据。直接访问一个XML节点经由键
但是,当我环就像我在第一个代码段做什么,它打印出的物品0,2,4,等
这怎么可能,什么可能会造成这个?
感谢, 瑞安
ADDED信息:
这是它的主要部分:
$totalItems = 45;
$keepItems = 10;
$currentIndex = 0;
while($totalItems > $keepItems)
{
$totalItems -= 1;
print_r($xml->list->item[$currentIndex]);
$currentIndex += 1;
}
我只是在一个单独的文件中尝试这样做,它在该实例工作:
$xml = simplexml_load_file($xmlPath);
$items = $xml->list->item;
$counter = 45;
$display = 0;
while($counter > 4)
{
echo $items[$display]->asXML();
$display += 1;
$counter -= 1;
}
因此,我的其他代码中的某些内容正在实现此目的。我将不得不再看看它,但肯定没有什么明显的。
感谢, 瑞安
ADDED信息2:
OK,我确定的代码导致该 “每隔一个” 综合症:)
unset($items[$currentIndex]);
的思想路线当我使用这些数据时,我想删除/取消设置项目,但它似乎并没有按照我的预期工作 - 是否有人知道为什么?为什么没有设置它没有显示的东西?
感谢, 瑞安
你能告诉我们设置'$ currentIndex'的循环代码吗?你需要确保$ currentIndex是一个数字而不是一个字符串? – LarsH 2010-09-15 19:47:50