PHP 如何返回数组中第一个通过测试的元素
PHP 的 array_filter()
函数可以通过回调函数过滤数组的元素,但是返回的是过滤后的数组。
但是很多时候,我们只是简单的要求返回第一个通过测试的元素,这个时候,我们就需要做一些处理,所以我把这个过程整理成一个函数 wpjam_array_first
。
function wpjam_array_first($array, $callback=null){
if($callback && is_callable($callback)){
foreach($array as $key => $value){
if(call_user_func($callback, $value, $key)){
return $value;
}
}
}else{
return current($array);
}
}
使用非常简单的:
$array = [100, 200, 300];
$value = wpjam_array_first($array, function($value) {
return $value >= 150;
});
// 200
该功能已经整合到 WPJAM Basic 插件中,并已免费提供下载,简单勾选或者设置下即可开启!