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

是否有一个 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'],

)


阿晨1998
浏览 170回答 2
2回答

莫回无

您可以使用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        ))

汪汪一只猫

我不确定 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" } }
打开App,查看更多内容
随时随地看视频慕课网APP