Они упрощены следующим образом, которых достаточно для этого вопроса. Этот вопрос основан на этом ответе .
[a][b][]
а также
[a][c]
где оба массива имеют один общий подмассив [a].
Я хотел бы иметь это
[a][c][b][]
Я безуспешно выполнил следующую команду
array1[a] + array2[a]
foreach($array1 as $a => $c) { $end_array[$c] = $array2[$a]; }
или
// For every [a] foreach($array1 as $a => $c) { // Get the [b] $b = $array2[$a]; // Add it to [a][c] $end_array[$a][$c] = $b; // Making it $end_array[$a][$c][$b] = array(....); }
$ array1 = array_merge ($ array1, $ array2);
Хорошо, я понимаю, о чем вы говорите. (Для всех остальных см. Ссылку, которую он опубликовал: http://dpaste.com/81464/ )
var $output = array(); foreach ($array1 as $index => $a1) { $output[$index] = $a1; $output[$index]['title'] = $array2[$index]['title']; }
PHP предоставляет вам решение для решения этой общей проблемы:
$a = array_merge($b, $c);
С помощью этого решения вы возьмете все элементы внутри $ b и объедините их с помощью $ c. Но если вы используете ассоциативные массивы, вы должны заметить, что вы замените значения в $ b на числа в $ c.
Например:
<?php $a = array( 'ka' => 1, 'kb' => 1, ); $b = array( 'kb' => 2, 'kc' => 2, ); print_r(array_merge($a, $b)); ?>
Результатом этого кода будет что-то вроде:
Array ( [ka] => 1 [kb] => 2 [kc] => 2 )
for($i = 0; $i < sizeof($array); $i++) { $mergedarray[a][b] = $a[a][b]; $mergedarray[a][c] = $b[a][c]; }
насколько я могу сказать, это то, что вы хотите, таким образом, оба под-ключа имеют один и тот же корневой ключ.
попробуйте array_combine ()