我需要从我拥有的 mysql 数据库中合并许多数组。数组的数量可以变化。我正在将数据序列化到数据库中,并在输出时反序列化它。我感到困惑的地方是尝试使用 array_merge
但不确定如何正确地将数据放入其中。
比如我有
$sql_get_votes_data = "SELECT * FROM algo_users WHERE data LIKE '%$movie_id%'";
$result_get_votes_data = mysql_query($sql_get_votes_data);
$final_array = array();
while($row_get_votes_data = mysql_fetch_array($result_get_votes_data)) {
$final_array[] = unserialize($row_get_votes_data['data']);
}
最终我需要能够像这样进行独特的合并。
array_unique(array_merge($final_array1,$final_array2), SORT_REGULAR);
但由于我必须将每个数组放入一个单独的变量中才能传递到 array_merge
中,所以我不确定如何从 mysql 调用中执行此操作。
任何帮助都会很棒。
最佳答案
为什么不在循环中合并每个新数组?
$mergedArray=array();
while($row_get_votes_data = mysql_fetch_array($result_get_votes_data)) {
$final_array = unserialize($row_get_votes_data['data']);
$mergedArray=array_merge($mergedArray,$final_array);
}
array_unique($mergedArray, SORT_REGULAR);
或者如果您需要跟踪您的个人阵列:
$mergedArray=array();
$i=0;
while($row_get_votes_data = mysql_fetch_array($result_get_votes_data)) {
$final_array[$i] = unserialize($row_get_votes_data['data']);
$mergedArray=array_merge($mergedArray,$final_array[$i]);
$i++
}
array_unique($mergedArray, SORT_REGULAR);
编辑:我首先了解到您只想将所有数组合并为一个数组。上面编辑过的答案现在也删除了重复的条目,我现在明白你希望这样做。
关于php - mysql/php - 在 while 语句中合并来自 mysql 输出的多个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27540804/