按条件排列的数组的第一个元素
2022-08-31 00:15:49
我正在寻找一种优雅的方法来获取满足给定条件的数组的第一个(也是唯一的第一个)元素。
简单示例:
输入:
[
['value' => 100, 'tag' => 'a'],
['value' => 200, 'tag' => 'b'],
['value' => 300, 'tag' => 'a'],
]
条件:$element['value'] > 199
预期输出:
['value' => 200, 'tag' => 'b']
我自己想出了几种解决方案:
循环访问数组,检查条件并在找到时中断
-
使用array_filter应用条件并取筛选的第一个值:
array_values( array_filter( $input, function($e){ return $e['value'] >= 200; } ) )[0];
两者似乎都有点麻烦。有没有人有更清洁的解决方案?我缺少内置的php函数吗?