当前位置: 首页 > 面试题库 >

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

叶裕
2023-03-14
问题内容

假设我有以下多维数组(从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()可以做的魔力。


问题答案:

从php 5.5开始,您可以使用array_column

$ids = array_column($users, 'id');

这是任何现代项目的首选选项。但是,如果必须支持php <5.5,则存在以下替代方法:

从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);


 类似资料:
  • 问题内容: 我有一个二维的numpy数组,我有一个行和列的数组,应该将其设置为特定值。让我们考虑以下示例 我想修改行[0,2]和列[1,2]的条目。这应该导致以下数组 我做了以下操作,它导致修改了每一行中列的每个序列 结果导致以下数组修改了指定数组的每一列 有人可以让我知道怎么做吗? 非常感谢 编辑:要注意的是,行和列碰巧是偶然的。 实际的观点是,这些可以是任意的,也可以是任意顺序。如果它是row

  • 问题内容: 我有这个: 我需要的是:“,这是列的总和。 我已经尝试了几个小时了。我以为可以,但是不适用于多维数组。因此,我试图弄清楚如何通过或剪接或其他方式隔离s ,但是每种解决方案似乎都涉及一个循环。我弄乱了,和其他人,但无济于事。我还没有找到一个可以很好地处理多维数组的函数。 我正在运行PHP 5.4。 有人可以告诉我如何在没有循环的情况下求和该列吗? 如果有帮助,则值将永远不会大于,并且值将

  • 问题内容: 我有一个这样的多维数组: 我想这样的html输出: - 活动1 艺术家1 艺术家1 desc http : //www.artist1.com,http://www.artist1-2.com ARTIST 8 artist 8 desc http://www.artist8.com ARTIST 5 artist 5 desc http://www.artist5.com - 活动2

  • 问题内容: 我一直在试图弄清楚这里到底发生了什么。我只是想弄清楚我在下面评论过的两行在做什么。我发现这个程序没有声明数组的完整尺寸(而不是new int [10] [5];它只是决定不声明它,而是说’new int [10] [];”,就像第二个数组长度无关紧要(将其更改为1或100不会影响输出)。 问题答案: 第一行组成一个int数组。为int数组创建了10个插槽。 第三行创建一个新的int数组

  • 并分别处理这两个数组。这是更好的解决方案吗?

  • 我在处理多维数组时遇到问题。我试图使用指针让“123”、“456”、“x123”和“x456”出现在函数内部的屏幕上: 编译时,我在