php объединить два массива
у меня есть два массива, я хочу объединить эти два массива в один массив. Пожалуйста, просмотрите подробную информацию ниже:
Первый Массив:
Array
(
[0] => Array
(
[a] => 1
[b] => 2
[c] => 3
)
[1] => Array
(
[a] => 3
[b] => 2
[c] => 1
)
)
Второй Массив:
Array
(
[0] => Array
(
[d] => 4
[e] => 5
[f] => 6
)
[1] => Array
(
[d] => 6
[e] => 5
[f] => 4
)
)
Я хочу, чтобы этот результат. Кто-нибудь знает, как это сделать?
Array
(
[0] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
[1] => Array
(
[0] => 3
[1] => 2
[2] => 1
)
[2] => Array
(
[0] => 4
[1] => 5
[2] => 6
)
[3] => Array
(
[0] => 6
[1] => 5
[2] => 4
)
)
надеюсь, вы поняли вопрос. Заранее спасибо.
6 ответов
основные (снова)
function array_merge_to_indexed () {
$result = array();
foreach (func_get_args() as $arg) {
foreach ($arg as $innerArr) {
$result[] = array_values($innerArr);
}
}
return $result;
}
принимает неограниченное количество входных массивов, объединяет все вложенные массивы в один контейнер как индексированные массивы и возвращает результат.
изменить 03/2014: улучшенная читаемость и эффективность
более простой и современный способ-это:
$merged = $array1 + ['apple' => 10, 'orange' => 20] + ['cherry' => 12, 'grape' => 32];
новый массив синтаксис php 5.4
Если вы хотите вернуть точный результат, который вы указали в своем вопросе, то что-то вроде этого будет работать
function array_merge_no_keys() {
$result = array();
$arrays = func_get_args();
foreach( $arrays as $array ) {
if( is_array( $array ) ) {
foreach( $array as $subArray ) {
$result[] = array_values( $subArray );
}
}
}
return $result;
}
array_merge не работает:
$a = array(array(1,2,3), array(3,2,1));
$b = array(array(4,5,6), array(6,5,4));
var_dump(array_merge($a, $b));
попробуйте:http://codepad.org/Bf5VpZOr
точно желаемый результат.
вы также можете использовать : функция array_merge_recursive ; для многомерных массивов.
<?php
$ar1 = array("color" => array("favorite" => "red"), 5);
$ar2 = array(10, "color" => array("favorite" => "green", "blue"));
$result = array_merge_recursive($ar1, $ar2);
print_r($result);
?>
результат :
Array(
[color] => Array
(
[favorite] => Array
(
[0] => red
[1] => green
)
[0] => blue
)
[0] => 5
[1] => 10
)
источник : руководство по PHP .