为了账号安全,请及时绑定邮箱和手机立即绑定

是否有一个 PHP 函数可以将单独字段的数组连接到一组分组字段中?

是否有一个 PHP 函数可以将单独字段的数组连接到一组分组字段中?

PHP
阿晨1998 2021-12-03 16:21:34
是否有一个 PHP 函数接受多个数组(每个数组代表单个字段值的集合,例如名字)并输出一个数组,该数组的值将这些字段组合在一起?例如:$arr1 = ['John', 'Kyle']; // first names$arr2 = ['Smith', 'Andrews']; // last names$arr3 = ['john@example.com', 'kyle@example.com']; // email addresses// ...Output:Array(  0 => ['John', 'Smith', 'john@example.com'],  1 => ['Kyle', 'Andrews', 'kyle@example.com'],)
查看完整描述

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

        )


)


查看完整回答
反对 回复 2021-12-03
?
汪汪一只猫

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" } }


查看完整回答
反对 回复 2021-12-03
  • 2 回答
  • 0 关注
  • 169 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信