首页 > 解决方案 > 使用 array_column 将两列连接为一列

问题描述

我有一个类型的数组

$records = array(
array(
    'id' => 2135,
    'first_name' => 'John',
    'last_name' => 'Cena',
),
array(
    'id' => 5623,
    'first_name' => 'Peter',
    'last_name' => 'Doe',
));

我想以以下格式显示输出

[2135] => John Cena
[5623] => Peter Doe

我一直在使用以下代码来尝试显示我的预期结果,但它不起作用。

$names = array_column($records, 'first_name' . 'last_name', 'id');

如何将两列数组连接成一列?

标签: phparraysarray-column

解决方案


您当前的代码不起作用的原因是因为您要求 PHP 在$records数组中查找first_namelast_name不存在的 key 。

array_column只返回一列,如PHP 手册条目中所述

(PHP 5 >= 5.5.0,PHP 7)

array_column — 返回输入中单列的值

您需要遍历数组并手动连接字符串。您可以使用的一项功能是array_reduce

$names = array_reduce($records, function ($result, $item) {
    $result[$item['id']] = $item['first_name'] . ' ' . $item['last_name'];
    return $result;
});

推荐阅读