gpt4 book ai didi

php - 将多个数组合并为一个数组

转载 作者:太空宇宙 更新时间:2023-11-03 10:48:10 24 4
gpt4 key购买 nike

我正在从数据库中提取一个流派列表,并尝试按最常见的事件对它们进行排序。但是当我从数据库中提取它们时,它们仍然是分开的:

Array
(
[0] => Blues Rock
[1] => Garage Rock
[2] => Hard Rock
)
Array
(
[0] => Garage Rock
[1] => Blues Rock
[2] => Hard Rock
)

但我希望它出现在一个可以排序的数组中以拉出顶级流派。它应该看起来像Genres: Garage Rock, Blues Rock, Hard Rock

这是我的代码:

$genreSql = "SELECT `genres` FROM `song_genres` WHERE `album_id` = '$album_id' AND `band_id` = '$band_id'";
$queryGenre = mysqli_query($conn, $genreSql) or die (mysqli_error($conn));
while ($rowG = mysqli_fetch_array($queryGenre)){

$genres = $rowG['genres']; // Goes into the db as a string. E.g. "Str1, Str2, Str3"
$genres = explode(", ", $genres);

echo "<pre>";
print_r($genres);
echo "</pre>";

我没有进一步了解,因为我只是想将它们全部组织到一个数组中。

可能是因为我不知道自己在做什么 - 因为在涉及到数组时我仍然是废话 - 但也许 php 的老手会找到一些东西。

最佳答案

如果您更改数据库结构,您将能够进行返回所需值的查询。

但是现在你可以做这样的事情了

$array_of_array_of_genres[] = [
'Blues Rock',
'Garage Rock',
'Hard Rock',];
$array_of_array_of_genres[] = [
'Garage Rock',
'Blues Rock',
'Hard Rock'];
$array_of_array_of_genres[] = [
'POP',
'Hard Rock'];
$all_genres = call_user_func_array('array_merge', $set_of_set_of_genres);
// {"0":"Blues Rock","1":"Garage Rock","2":"Hard Rock","3":"Garage Rock","4":"Blues Rock","5":"Hard Rock","6":"POP","7":"Hard Rock"}
$count_genres = array_count_values($all_genres);
// {"Blues Rock":2,"Garage Rock":2,"Hard Rock":3,"POP":1}
arsort($count_genres);
// {"Hard Rock":3,"Garage Rock":2,"Blues Rock":2,"POP":1}
$result = array_keys($count_genres);
// {"0":"Hard Rock","1":"Garage Rock","2":"Blues Rock","3":"POP"}

关于php - 将多个数组合并为一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28312121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com