我有这个xml响应,我将做一个
foreach($response->entry->item as $data)
但$ data包含的数组(20)比我需要的多(18)。所以我尝试做array_slice,但是你知道它不起作用。
我可以尝试哪些其他解决方案?
答案 0 :(得分:1)
您可以尝试通过xpath从xml中选择的数据限制结果集。
$string = <<<XML
<?xml version='1.0'?>
<document>
<item id="1" />
<item id="2" />
<item id="3" />
<item id="4" />
<item id="5" />
<item id="6" />
</document>
XML;
$xml = simplexml_load_string($string);
var_dump($xml->xpath("//item[@id>2 and @id<5]")) // Prints the two nodes matching the condition from the xpath
正如评论中所建议的那样,您也可以使用for
而不是foreach
循环遍历数组,并限制迭代次数。