我做了一个循环,回顾了我参加的所有演出,有些演出有相同的歌曲。
下面是该数组的结果:http://snippi.com/s/k80v7pe
现在我想要一个数组,列出所有不同的歌曲id。所以我想看看我听过的所有歌曲:
//get the songs field get_field('songs')
foreach ($postIds as $postId){
array_push($songIds, get_field('songs', $postId));
}
//Over here I'm trying to print all the ID's of the song
foreach ($songIds as $songId) {
echo $songId->ID;
}
但我得到了以下错误:
注意:尝试获取非对象在
是因为数组$songIds
在数组中有一个数组吗?
发布于 2019-11-24 05:49:43
发布于 2019-11-26 04:27:02
因为$songIds
是数组中的一个数组,所以我必须在彼此之间执行两个循环。
下面的代码推送了新数组$allSongs
中来自不同数组的所有post id。
这样我就有了一个包含所有id的数组,有些id将是复制的,因为有些歌曲会在所有的演唱会上播放1次以上。
foreach ($songIds as $songId) {
foreach ($songId as $key => $value) {
array_push($allSongs, $value->ID);
}
}
//all songs
print_r($allSongs);
若要仅检索唯一id,可以使用数组函数array_unique
从数组中删除重复项。
$uniqueSongs = array_unique($allSongs, SORT_REGULAR);
print_r($uniqueSongs);
https://wordpress.stackexchange.com/questions/353219
复制相似问题