You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中如何将两个数组合并为指定结构的二维数组?

PHP和Laravel实现数组按索引配对合并

PHP原生实现

方法1:使用array_map(数组长度相同时推荐)

array_map可同时遍历多个数组,将对应位置的元素传入回调函数处理,完美匹配需求:

$a = [1, 2];
$b = [3, 4];
$data = array_map(function ($x, $y) {
    return [$x, $y];
}, $a, $b);
// 输出结果:[[1,3],[2,4]]

方法2:循环遍历(适配数组长度不一致场景)

如果两个数组长度可能不同,用循环可灵活处理缺失元素:

$a = [1, 2];
$b = [3, 4];
$data = [];
$maxLength = max(count($a), count($b));

for ($i = 0; $i < $maxLength; $i++) {
    $data[] = [
        $a[$i] ?? null, // 可替换为你需要的默认值
        $b[$i] ?? null
    ];
}
// 若数组长度不同,会用null填充缺失项,比如$a=[1,2,3],$b=[3,4],结果为[[1,3],[2,4],[3,null]]

Laravel实现:使用集合zip方法

Laravel集合提供的zip方法,专门用于将两个集合的对应元素配对,写法简洁:

$a = collect([1, 2]);
$b = collect([3, 4]);
$data = $a->zip($b)->toArray();
// 输出结果:[[1,3],[2,4]]

当两个集合长度不同时,zip会自动用null填充较短集合的缺失元素。

内容的提问来源于stack exchange,提问作者Ade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 16:42:51