【问题标题】:PHP retrieve array of items from a multidimensional array without looping?PHP从多维数组中检索项目数组而不循环?
【发布时间】:2011-12-27 03:28:27
【问题描述】:

我有一大堆数组,每个子数组都有一个 ID 和一些其他信息。有没有办法在不使用循环的情况下访问仅包含 ID 的数组?

有点像

$array[ALLOFTHEITEMS][Id]; 

我想最终将这些 ID 与另一个平面 ID 数组进行比较。 我通常会做一个 for 循环,然后将每个项目的 id 添加到一个新数组中,然后比较它们。但是有更快的方法吗?

【问题讨论】:

    标签: php arrays loops multidimensional-array for-loop


    【解决方案1】:

    不确定它是否比 foreach 更快,因为我从未对其进行基准测试,但 foreach 的替代方案是:

    php 5.3

    $ids = array_map(function($data) { return $data['id']; }, $array);
    

    php

    function reduceToIds($data) {
        return $data['id'];
    }
    
    $ids = array_map('reduceToIds', $array);
    

    我通常自己使用 foreach 方法。

    【讨论】:

      猜你喜欢
      • 2018-03-24
      • 2013-06-25
      • 2019-07-17
      • 2012-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 1970-01-01
      相关资源
      最近更新 更多