基于PHP中另一列的值获取数组列

基于PHP中另一列的值获取数组列,php,arrays,array-filter,Php,Arrays,Array Filter,我有一个多列PHP数组 Array ( Array ('col1', 'col2', 'col3'), ); 如果col1大于特定值,如何获取col2数组 我可以通过一个foreach循环来实现,但我认为使用像array\u filter这样的本机函数应该是可行的。简单地说,使用foreach循环更好,因为不必对数组进行多次迭代。您希望同时过滤和修改数组,这需要同时使用array\u filter()和array\u map(),以获得所需的内容: <?php $arr = [

我有一个多列PHP数组

Array (
    Array ('col1', 'col2', 'col3'),
);
如果
col1
大于特定值,如何获取
col2
数组


我可以通过一个
foreach
循环来实现,但我认为使用像
array\u filter
这样的本机函数应该是可行的。简单地说,使用foreach循环更好,因为不必对数组进行多次迭代。您希望同时过滤和修改数组,这需要同时使用
array\u filter()
array\u map()
,以获得所需的内容:

<?php

$arr = [
    [5, 'col2-1', 'col3'],
    [10, 'col2-2', 'col3']
];

$res = array_filter($arr, function($item) {
    return $item[0] > 7;
});

$res = array_map(function($item) {
    return $item[1];
}, $res);

var_dump($res);