2 回答
TA贡献1865条经验 获得超7个赞
您可以使用array_map()with null 作为第一个参数来合并它们...
NULL可以作为值传递给回调以对多个数组执行 zip 操作。如果只提供了 array1,array_map() 将返回输入数组。
所以
print_r(array_map(null, $arr1, $arr2, $arr3));
给...
Array
(
[0] => Array
(
[0] => John
[1] => Smith
[2] => john@example.com
)
[1] => Array
(
[0] => Kyle
[1] => Andrews
[2] => kyle@example.com
)
)
TA贡献1898条经验 获得超8个赞
我不确定 PHP 中是否有内置函数,但您可以像这样手动合并它:
$arr1 = ['John', 'Kyle']; // first names
$arr2 = ['Smith', 'Andrews']; // last names
$arr3 = ['john@example.com', 'kyle@example.com']; // email addresses
$merged = [];
foreach ($arr1 as $key => $name) {
if (isset($arr2[$key]) && isset($arr3[$key])) {
$merged[] = [$name, $arr2[$key], $arr3[$key]];
}
}
var_dump($merged);
// output: array(2) {
[0]=> array(3) { [0]=> string(4) "John" [1]=> string(5) "Smith" [2]=> string(16) "john@example.com" }
[1]=> array(3) { [0]=> string(4) "Kyle" [1]=> string(7) "Andrews" [2]=> string(16) "kyle@example.com" } }
- 2 回答
- 0 关注
- 169 浏览
添加回答
举报