Как вы можете объединить два массива?

Они упрощены следующим образом, которых достаточно для этого вопроса. Этот вопрос основан на этом ответе .

1

[a][b][] 

а также

2

 [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 ()

http://us2.php.net/manual/en/function.array-combine.php