0
我有几个阵列,所有具有该结构:合并数组问题
array (
526744 =>
array (
'completed' => 13,
'total' => 24,
'topics' =>
array (
),
'lessons' =>
array (
526745 => 1,
526747 => 1,
526749 => 1,
526751 => 0,
526757 => 0,
526759 => 0,
526761 => 1,
526763 => 0,
526765 => 0,
526767 => 1,
),
'last_id' => 526793,
),
526818 =>
array (
'completed' => 0,
'total' => 22,
'topics' =>
array (
),
'lessons' =>
array (
526819 => 0,
526821 => 1,
526823 => 1,
526845 => 0,
526847 => 1,
526849 => 1,
526859 => 1,
526861 => 1,
),
'last_id' => 526861,
),
)
在所述阵列的最外元件的数量是一个课程ID。最内层数组元素中的数字列表是课程ID。
我想合并所有包含这个结构的数组。但唯一与526744.
过程ID如果我做这样的事情:
foreach($results2 as $result2) {
$new_array = unserialize($result2->course_progress);
$final_array = array_merge($final_array, $new_array);
$backup_array = $new_array;
}
这工作得很好,不过它把整个阵列,包括所有的课程。
但是,如果我指定这样的COURSE_ID:
foreach($results2 as $result2) {
$new_array = unserialize($result2->course_progress);
$newarray = $new_array[526744];
$final_array = array_merge($final_array, $new_array);
$backup_array = $new_array;
}
它不再合并可言,只是列出了用于指定1单门课程的最后一个阵列。
什么是造成这种情况,以及如何解决它的任何想法?
感谢
尝试改变'$ newarray = $ new_array [526744];'到'$ newarray =阵列($ new_array [526744]);' – Glubus
即完美, 谢谢。不知道如何将答案标记为正确,因为它是作为评论输入的。 – DanR
我没有打扰为这样一个简单的解决方案创建答案,我们都犯了一个简单的错误。我想其他人想要一些额外的点。 – Glubus