鉴于此:
$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'));
但返回所有值而不仅仅是第一个......
答案 0 :(得分:3)
如果foreach
不够原生,您可以使用array_filter
。该函数接受应用于每个项目的回调。结果是一个数组,它返回回调没有返回false的所有项目。
$array2 = array_filter($array1, function($item) {
return $item['orderno'] == 2;
});