array (size=1)
11 =>
array (size=1)
'subject' =>
array (size=1)
'Maths' => string '21' (length=2)
array (size=1)
10 =>
array (size=1)
'subject' =>
array (size=1)
'Maths' => string '10' (length=2)
array (size=1)
11 =>
array (size=1)
'subject' =>
array (size=1)
'Gujarati' => string '21' (length=2)
array (size=1)
10 =>
array (size=1)
'subject' =>
array (size=1)
'Gujarati' => string '20' (length=2)
数组键重复,如11和10
我的问题: 如何创建下面的输出数组。
array (size=1)
11 =>
array (size=1)
'subject' =>
array (size=1)
'Maths' => string '21' (length=2)
'Gujarati' => string '21' (length=2)
array (size=1)
10 =>
array (size=1)
'subject' =>
array (size=1)
'Maths' => string '10' (length=2)
'Gujarati' => string '20' (length=2)
答案 0 :(得分:0)
使用此功能获取结果。 顺便说一句:只是一次又一次地请求帮助而不是自己调查是不好的行为,如果有人指向你的函数(比如array_merge_recursive),你至少应该花些时间去RTM。
function array_merge_recursive_new() {
$arrays = func_get_args();
$base = array_shift($arrays);
foreach ($arrays as $array) {
reset($base); //important
while (list($key, $value) = @each($array)) {
if (is_array($value) && @is_array($base[$key])) {
$base[$key] = array_merge_recursive_new($base[$key], $value);
} else {
$base[$key] = $value;
}
}
}
return $base;
}
来源/版权: http://php.net/manual/en/function.array-merge-recursive.php#106985
我已经使用这些数组进行了测试,这些数组应与您拥有的相同。
$arr1 = array(
10 => array( "subject" => array("math" => 1)),
11 => array( "subject" => array("math" => 2)),
);
$arr2 = array(
10 => array( "subject" => array("guawhatever" => "foo")),
11 => array( "subject" => array("guawhatever" => "bar")),
);
$blubb = array_merge_recursive_new($arr1,$arr2);