php - 使用 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');
如何将两列数组连接成一列?
解决方案
您当前的代码不起作用的原因是因为您要求 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;
});
推荐阅读
- c# - 在 Unity 中启用/禁用预制组件
- javascript - 绘制不相交线的路由算法
- php - 无需重新加载页面即可提交表单并获取输出 [PHP, jQuery]
- python - 一种使用 numpy 在批处理和时间维度上计算空间变换的更快方法
- typescript - 当分配一个按字面转换的属性时,字面类型被保留用于新的属性/变量
- r - 如何在 R 中处理制表符分隔的 txt 导入中的双制表符?
- mysql - 如何修复 macos 上崩溃的 MySQL 实例?
- python - 无法使用 pip3 模块:ModuleNotFoundError
- entity-relationship - 我的贸易和运输年度数据的 ER-图可以吗?
- mysql - 插入前创建触发器