PHP 自定义数组过滤,或者自定义排序函数 怎么在自定义 function 传值?
本文介绍了PHP 自定义数组过滤,或者自定义排序函数 怎么在自定义 function 传值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
比如 uasort($arr ,"myRegExp") 和 array_filter($arr,"myGt")
我要是想对 myRegExp 或者 myGt 传值的时候怎么弄?
比如这个 myGt 是个小于 88的函数:
function myGt($val)
{
if ($val >= 88)
return true;
}
能不能把这个88也写到 array_filter 的参数里?
解决方案
何不尝试自己封装array_filter
function user_array_filter($array = array(), $callback = null) {
$args = func_get_args();
if( count($args) < 2 ) {
exit('Missing arguments for user_array_filter, two arguments at least');
}
if( count($args) == 2 ) {
foreach( $array as $k => $v ) {
$result = $callback($v);
if( !$result ) {
return false;
}
}
} else {
$limit = $args[2];
foreach( $array as $k => $v ) {
$result = $callback($v, $limit);
if( !$result ) {
return false;
}
}
}
return true;
}
function myGt($val, $limit = 88){
if ($val >= $limit)
return true;
return false;
}
这篇关于PHP 自定义数组过滤,或者自定义排序函数 怎么在自定义 function 传值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文