基于PHP中另一列的值获取数组列
我有一个多列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 = [
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);