返回具有匹配键值对的所有值

时间:2015-10-23 17:41:00

标签: php

鉴于此:

        $array1 = array(
            array(
                'orderno' => 2,
            ),
            array(
                'orderno' => 2,
            ),,
            array(
                'orderno' => 1                      
            ),
        );

如何获得orderno = 2的所有数组,省略orderno = 1,我知道你可以通过foreach做到这一点,但我想知道是否可以使用本机php方法而不是一个foreach ...... 类似于:

array_search($cmsvalue['custnum'], array_column($custcsvarray, 'custnum'));

但返回所有值而不仅仅是第一个......

1 个答案:

答案 0 :(得分:3)

如果foreach不够原生,您可以使用array_filter。该函数接受应用于每个项目的回调。结果是一个数组,它返回回调没有返回false的所有项目。

$array2 = array_filter($array1, function($item) {
  return $item['orderno'] == 2;
});