首页 » SEO优化 » arraycloumphp技巧_天天一个常用PHP函数array_column

arraycloumphp技巧_天天一个常用PHP函数array_column

访客 2024-11-27 0

扫一扫用手机浏览

文章目录 [+]

场景

当我们通过api或者db获取到一个用户列表时,如果想按照id进行分组如何做?当然可以通过db的groupBy直接返回,如果是api获取呢?对用户列表进行foreach吗,太low了,答案便是array_column。

arraycloumphp技巧_天天一个常用PHP函数array_column

语法

arraycloumphp技巧_天天一个常用PHP函数array_column
(图片来自网络侵删)

array_column ( array $input , mixed $column_key [, mixed $index_key = NULL ] ) : array$input是要处理的数组, $column_key是须要从数组中获取的字段, 可以是单个字段如'id',可以是null这时获取的是全体数组,可以是部分字段['id', 'name']$index_key则是新数组的索引, 是数值或者字符串

利用

<?php$userList = [ ['id' => 1, 'name' => '快乐的鸟', 'totalAmount' => 1000], ['id' => 3, 'name' => '愤怒的鸟', 'totalAmount' => 10], ['id' => 100, 'name' => '忧伤的鸟', 'totalAmount' => 100], ['id' => 55, 'name' => '勤奋的鸟', 'totalAmount' => 3000]];$userList = array_column($userList, null, 'id');print_r($userList);/Array( [1] => Array ( [id] => 1 [name] => 快乐的鸟 [totalAmount] => 1000 ) [3] => Array ( [id] => 3 [name] => 愤怒的鸟 [totalAmount] => 10 ) [100] => Array ( [id] => 100 [name] => 忧伤的鸟 [totalAmount] => 100 ) [55] => Array ( [id] => 55 [name] => 勤奋的鸟 [totalAmount] => 3000 ))/

如果只须要获取id与totalAmount该怎么获取呢,只须要加上$column_key就可以了

<?php$userList = array_column($userList, 'totalAmount', 'id');print_r($userList);/Array( [1] => 1000 [3] => 10 [100] => 100 [55] => 3000)/

当然如果数组的元素是工具也是可以取到工具的属性值

class User { public $id; public $name; public function __construct(int $id, string $name) { $this->id = $id; $this->name = $name; }}$userList = [ new User(1, '快乐的鸟'), new User(2, '愤怒的鸟'), new User(3, '勤奋的鸟')];$userList = array_column($userList, 'name', 'id');print_r($userList);

标签:

相关文章

SEO读书笔记,详细分析搜索引擎优化之路

搜索引擎优化(SEO)已经成为企业提升网站排名、吸引潜在客户、增强品牌影响力的重要手段。本文基于SEO读书笔记,深入解析搜索引擎优...

SEO优化 2025-03-24 阅读0 评论0

SEO营销软件,助力企业实现网络营销新突破

网络营销已成为企业拓展市场、提升品牌影响力的重要手段。SEO(搜索引擎优化)作为网络营销的核心策略之一,越来越受到企业的关注。为了...

SEO优化 2025-03-24 阅读0 评论0