Maison  >  Article  >  développement back-end  >  别人帮我写了个可以传参的数组过滤函数,请问怎么用

别人帮我写了个可以传参的数组过滤函数,请问怎么用

WBOY
WBOYoriginal
2016-12-01 00:57:061015parcourir

这个就是删除数组中小于123的,
我做实验,结果不行,请问怎么改改?

边学习,边研究,不会删除的数组的元素..

<code>$arr = Array(1 , 2 , 3713231987,3710001690,3713182016,3714441990,3713231932);



user_array_filter($arr, 'myGt' , 123 ) ;

echo '<pre class="brush:php;toolbar:false">';print_r($arr);echo '
'; function user_array_filter( &$array, $callback ) { $args = func_get_args(); //把function 所有参数保存成数组; if( count($args) $v ) { $result = $callback($v); if( !$result ) { return false;//★★★★★★★★★★★★★★★★★★★★★★ } } } else { $limit = $args[2]; // [0]->处理数组 , [1]->function , [2]->value foreach( $array as $k => $v ) { $result = $callback($v, $limit); if( !$result ) { return false;//★★★★★★★★★★★★★★★★★★★★★★ } } } } function myGt($val, $limit = 88){ if ($val >= $limit) return true; return false; }

回复内容:

这个就是删除数组中小于123的,
我做实验,结果不行,请问怎么改改?

边学习,边研究,不会删除的数组的元素..

<code>$arr = Array(1 , 2 , 3713231987,3710001690,3713182016,3714441990,3713231932);



user_array_filter($arr, 'myGt' , 123 ) ;

echo '<pre class="brush:php;toolbar:false">';print_r($arr);echo '
'; function user_array_filter( &$array, $callback ) { $args = func_get_args(); //把function 所有参数保存成数组; if( count($args) $v ) { $result = $callback($v); if( !$result ) { return false;//★★★★★★★★★★★★★★★★★★★★★★ } } } else { $limit = $args[2]; // [0]->处理数组 , [1]->function , [2]->value foreach( $array as $k => $v ) { $result = $callback($v, $limit); if( !$result ) { return false;//★★★★★★★★★★★★★★★★★★★★★★ } } } } function myGt($val, $limit = 88){ if ($val >= $limit) return true; return false; }

将user_array_filter里面的else改成下面代码

<code>  else
    {
        $limit = $args[2];    // [0]->处理数组 , [1]->function , [2]->value

        foreach( $array as $k => $v )
        {
            $result = $callback($v, $limit);
            if( !$result )
            {
                unset($array[$k]);
            }
        }
    }
    
    
    
    </code>

ps:你要删除数组元素的话可以foreach数组然后在循环里面判断不满足条件的把整个键unset()掉就可以

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn