array_column()用于从多维数组提取指定列值,支持自定义键名,可处理关联或数字索引数组,提升数据处理效率。

在PHP中,array_column() 是一个非常实用的函数,用于从多维数组中提取某一列的值,特别适合处理数据库查询结果这类结构化数据。
基本语法
array_column(array $input, mixed $column_key, mixed $index_key = null): array
该函数有三个参数:
$input:要处理的原始数组,通常是多维数组或关联数组的集合 $column_key:需要提取的列的键名(字符串)或位置(整数) $index_key:可选,用作返回数组的键名的列
提取指定列的值
最常见的用途是从关联数组组成的数组中提取某个字段的所有值。
立即学习“PHP免费学习笔记(深入)”;
例如,有一组用户数据:
$users = [
[‘name’ => ‘Alice’, ‘age’ => 25, ‘city’ => ‘Beijing’],
[‘name’ => ‘Bob’, ‘age’ => 30, ‘city’ => ‘Shanghai’],
[‘name’ => ‘Charlie’, ‘age’ => 35, ‘city’ => ‘Guangzhou’]
];
$names = array_column($users, ‘name’);
// 结果:[‘Alice’, ‘Bob’, ‘Charlie’]
使用自定义键名
通过第三个参数,可以指定返回数组的键,而不是默认的数字索引。
比如想以城市为键,获取每个人的姓名:
$namesByCity = array_column($users, ‘name’, ‘city’);
// 结果:
// [
// ‘Beijing’ => ‘Alice’,
// ‘Shanghai’ => ‘Bob’,
// ‘Guangzhou’ => ‘Charlie’
// ]
注意:如果多个元素具有相同的 $index_key 值,后面的会覆盖前面的。
处理数字索引数组(如PDO结果)
当处理从数据库查询返回的数字索引行时,可以用列的数字位置来提取。
$records = [
[‘Alice’, 25, ‘Beijing’],
[‘Bob’, 30, ‘Shanghai’]
];
$ages = array_column($records, 1); // 提取第二列
// 结果:[25, 30]
基本上就这些。array_column() 能让代码更简洁,避免写循环去手动提取数据。掌握它对处理表格类数据很有帮助。
以上就是php数组中array_column()函数的使用的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1340090.html
微信扫一扫
支付宝扫一扫