使用 array_reverse PHP 反转对象
Reverse an object with array_reverse PHP
我正在尝试处理 RSS 提要,但我想反向处理,因此最后导入最新项目以保持顺序正确。
$content = file_get_contents($feed_url);
$rss = new SimpleXmlElement($content);
$rss = array_reverse($rss);
foreach($rss->channel->item as $entry) {
echo $entry->title;
}
然而上面只是抛出 array_reverse() expects parameter 1 to be array
& Invalid argument supplied for foreach()
错误。我怎样才能反转数组,以便每个反向工作?
$rss->channel->item
是一个 SimpleXMLElement
对象,不是数组。可以用foreach
进行迭代,但是其他数组操作就不行了。
如果要反向迭代,获取计数,然后按索引访问每个元素,从索引向下计数。
$items = $rss->channel->item;
$count = count($items);
for ($i = $count-1; $i >= 0; $i--) {
echo $items[$i]->title;
}
我正在尝试处理 RSS 提要,但我想反向处理,因此最后导入最新项目以保持顺序正确。
$content = file_get_contents($feed_url);
$rss = new SimpleXmlElement($content);
$rss = array_reverse($rss);
foreach($rss->channel->item as $entry) {
echo $entry->title;
}
然而上面只是抛出 array_reverse() expects parameter 1 to be array
& Invalid argument supplied for foreach()
错误。我怎样才能反转数组,以便每个反向工作?
$rss->channel->item
是一个 SimpleXMLElement
对象,不是数组。可以用foreach
进行迭代,但是其他数组操作就不行了。
如果要反向迭代,获取计数,然后按索引访问每个元素,从索引向下计数。
$items = $rss->channel->item;
$count = count($items);
for ($i = $count-1; $i >= 0; $i--) {
echo $items[$i]->title;
}