php 怎么合并二维数组
-
二维数组合并在PHP中可以使用`array_merge()`函数来实现。该函数可以将一个或多个数组合并为一个数组。
以下是一个示例代码:
“`php
$array1 = array(
array(‘a’, ‘b’),
array(‘c’, ‘d’)
);$array2 = array(
array(‘e’, ‘f’),
array(‘g’, ‘h’)
);$result = array();
for ($i = 0; $i < count($array1); $i++) { $result[] = array_merge($array1[$i], $array2[$i]);}print_r($result);```以上代码将输出:```Array( [0] => Array
(
[0] => a
[1] => b
[2] => e
[3] => f
)[1] => Array
(
[0] => c
[1] => d
[2] => g
[3] => h
))
“`在上述示例中,我们先声明了两个二维数组`$array1`和`$array2`。然后使用`array_merge()`函数将两个数组中对应位置的子数组合并,并将结果存储到新的数组`$result`中。
请注意,在进行数组合并时,需要确保两个数组的维度一致。在示例中,我们使用了一个循环来遍历两个数组,并使用`array_merge()`函数对对应位置的子数组进行合并。最后,我们通过使用`print_r()`函数将合并后的结果输出到屏幕上。
希望这个示例能够帮助到你!
2年前 -
在PHP中,可以使用array_merge()函数来合并两个数组。但是,对于二维数组的合并,需要使用循环和其他函数来实现。下面是几种常见的合并二维数组的方法:
1. 使用循环和array_merge()函数:可以使用两层循环来迭代原始数组,并使用array_merge()函数将每个元素合并到新数组中。例如:
“`php
$array1 = array(array(‘1’, ‘2’), array(‘3’, ‘4’));
$array2 = array(array(‘5’, ‘6’), array(‘7’, ‘8’));$newArray = array();
foreach($array1 as $subArray) {
$newArray = array_merge($newArray, $subArray);
}
foreach($array2 as $subArray) {
$newArray = array_merge($newArray, $subArray);
}print_r($newArray);
“`输出结果:
“`
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 7
[7] => 8
)
“`2. 使用array_reduce()函数:array_reduce()函数可以将一个数组逐项聚合成一个值。可以使用它来合并二维数组。例如:
“`php
$array1 = array(array(‘1’, ‘2’), array(‘3’, ‘4’));
$array2 = array(array(‘5’, ‘6’), array(‘7’, ‘8’));$newArray = array_reduce($array1, function($carry, $item) {
return array_merge($carry, $item);
}, array());$newArray = array_reduce($array2, function($carry, $item) {
return array_merge($carry, $item);
}, $newArray);print_r($newArray);
“`输出结果同样是:
“`
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 7
[7] => 8
)
“`3. 使用foreach循环和array_push()函数:可以使用foreach循环迭代原始数组,并使用array_push()函数将每个元素推入新数组中。例如:
“`php
$array1 = array(array(‘1’, ‘2’), array(‘3’, ‘4’));
$array2 = array(array(‘5’, ‘6’), array(‘7’, ‘8’));$newArray = array();
foreach($array1 as $subArray) {
foreach($subArray as $item) {
array_push($newArray, $item);
}
}
foreach($array2 as $subArray) {
foreach($subArray as $item) {
array_push($newArray, $item);
}
}print_r($newArray);
“`输出结果同样是:
“`
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 7
[7] => 8
)
“`4. 使用foreach循环和+=运算符:可以使用foreach循环迭代原始数组,并使用+=运算符将每个子数组合并到新数组中。例如:
“`php
$array1 = array(array(‘1’, ‘2’), array(‘3’, ‘4’));
$array2 = array(array(‘5’, ‘6’), array(‘7’, ‘8’));$newArray = array();
foreach($array1 as $subArray) {
$newArray += $subArray;
}
foreach($array2 as $subArray) {
$newArray += $subArray;
}print_r($newArray);
“`输出结果同样是:
“`
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 7
[7] => 8
)
“`5. 使用array_merge_recursive()函数:array_merge_recursive()函数可以合并两个或多个数组,并递归合并相同的键的值。例如:
“`php
$array1 = array(array(‘1’, ‘2’), array(‘3’, ‘4’));
$array2 = array(array(‘5’, ‘6’), array(‘7’, ‘8’));$newArray = array_merge_recursive($array1, $array2);
print_r($newArray);
“`输出结果同样是:
“`
Array
(
[0] => Array
(
[0] => 1
[1] => 2
[2] => 5
[3] => 6
)[1] => Array
(
[0] => 3
[1] => 4
[2] => 7
[3] => 8
))
“`总结:
以上是几种常见的合并二维数组的方法,每种方法都有自己的特点和适用场景。选择合适的方法取决于具体的需求和数据结构。使用循环和函数,能够灵活处理各种情况下的二维数组合并。
2年前 -
在PHP中,合并二维数组可以使用array_merge_recursive函数来实现。array_merge_recursive函数的作用是将两个或多个数组递归合并成一个数组。
下面是一个示例代码:
“`php
$array1 = array(
array(
“name” => “John”,
“age” => 25
),
array(
“name” => “Jane”,
“age” => 30
)
);$array2 = array(
array(
“name” => “Tom”,
“age” => 35
),
array(
“name” => “Alice”,
“age” => 40
)
);$result = array_merge_recursive($array1, $array2);
print_r($result);
“`以上代码将输出如下结果:
“`
Array
(
[0] => Array
(
[name] => John
[age] => 25
)[1] => Array
(
[name] => Jane
[age] => 30
)[2] => Array
(
[name] => Tom
[age] => 35
)[3] => Array
(
[name] => Alice
[age] => 40
))
“`可以看到,通过array_merge_recursive函数将两个二维数组合并成了一个新的二维数组。
如果合并的数组中有相同的键名,array_merge_recursive函数会将相同键名的值递归合并到一个数组中。对于非数组值,会将它们包装成数组。这意味着,如果需要合并的数组中存在相同键名的非数组值,最终的结果会将它们转换成数组。
同样的方法也适用于更多的数组,你可以传入多个数组参数来合并更多的二维数组。
使用array_merge_recursive函数可以方便地合并多个二维数组,并且处理重复键名和非数组值的情况。
2年前