我有一个多列PHP数组
Array (
Array ('col1', 'col2', 'col3'),
);
如果col2
大于特定值,如何获得col1
的数组?
我可以通过foreach
循环来完成此操作,但是我认为应该可以使用array_filter
之类的本机函数来实现。
答案 0 :(得分:1)
简单地说,使用foreach循环会更好,因为您不必进行数组的多次迭代。您既要过滤也要修改数组,这需要同时使用array_filter()
和array_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);
在这里测试:https://3v4l.org/HRTOJ