如何在没有循环的情况下在多维数组中获取特定“键”的数组假设我有以下多维数组(从MySQL或服务中检索):array(
array(
[id] => xxx,
[name] => blah ),
array(
[id] => yyy,
[name] => blahblah ),
array(
[id] => zzz,
[name] => blahblahblah ),)我们可以id在一个“ 内置 ”php函数调用中获取一个s 数组吗?还是一行代码?我知道传统的循环并获得价值,但我不需要这样:foreach($users as $user) {
$ids[] = $user['id'];}print_r($ids);也许有些array_map()和call_user_func_array()可以做的魔力。
3 回答
凤凰求蛊
TA贡献1825条经验 获得超4个赞
从PHP 5.5开始,您可以使用array_column
:
$ids = array_column($users, 'id');
从php 5.3开始,您可以使用array_map
匿名函数,如下所示:
$ids = array_map(function ($ar) {return $ar['id'];}, $users);
之前(技术上是php 4.0.6+),您必须创建一个匿名函数create_function
:
$ids = array_map(create_function('$ar', 'return $ar["id"];'), $users);
至尊宝的传说
TA贡献1789条经验 获得超10个赞
PHP 5.5+
从PHP5.5开始,你可以使用array_column(),这使得以下所有内容都过时了。
PHP 5.3+
$ids = array_map(function ($ar) {return $ar['id'];}, $users);
@phihag的解决方案将从PHP 5.3.0开始在PHP中完美运行,如果在此之前需要支持,则需要复制该wp_list_pluck。
PHP <5.3
Wordpress 3.1+
在Wordpress中有一个名为wp_list_pluck的函数 如果您正在使用Wordpress来解决您的问题。
PHP <5.3
如果您没有使用Wordpress,由于代码是开源的,您可以复制粘贴项目中的代码(并将函数重命名为您喜欢的函数,如array_pick)。
- 3 回答
- 0 关注
- 384 浏览
添加回答
举报
0/150
提交
取消