いくつかの RSS フィードの投稿を表示しようとしていますが、同じフィードが 2 つあるときに、すべての投稿ではなく一意の投稿を表示しようとしているときに、質問/問題が発生しました。私が使用していたのはこれで、すべての投稿が2回表示されます(これは論理的です)
<?php
$feeds = array(
'feed.xml', 'feed.xml'
);
// Get all feed entries
$entries = array();
foreach ($feeds as $feed) {
$xml = simplexml_load_file($feed);
$entries = array_merge($entries, $xml->xpath('/rss/channel//item'));
}
// Sort feed entries by pubDate (ascending)
usort($entries, 'mysort');
function mysort($x, $y) {
return strtotime($y->pubDate) - strtotime($x->pubDate);
}
foreach ($entries as $entry) {
echo $entry->title;
echo "<br>";
}
?>
しかし、その行を次のように変更したとき
$entries = array_unique(array_merge($entries, $xml->xpath('/rss/channel//item')));
表示される投稿は 1 つだけです。
投稿を一度だけ正しく表示するにはどうすればよいですか? ありがとうございました。