为了账号安全,请及时绑定邮箱和手机立即绑定

如何在没有循环的情况下在多维数组中获取特定“键”的数组

如何在没有循环的情况下在多维数组中获取特定“键”的数组

PHP
富国沪深 2019-08-08 10:48:59
如何在没有循环的情况下在多维数组中获取特定“键”的数组假设我有以下多维数组(从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);


查看完整回答
反对 回复 2019-08-08
?
至尊宝的传说

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)。


查看完整回答
反对 回复 2019-08-08
?
当年话下

TA贡献1890条经验 获得超9个赞

如果id是数组中的第一个键,那么这样做:

$ids = array_map('current', $users);

你不应该依赖于此。:)


查看完整回答
反对 回复 2019-08-08
  • 3 回答
  • 0 关注
  • 384 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信