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 插件中,并已免费提供下载,简单勾选或者设置下即可开启!


©我爱水煮鱼,本站推荐使用的主机:阿里云,国外主机建议使用BlueHost

本站长期承接 WordPress 优化建站业务,请联系微信:「chenduopapa」。