은 최소값과 최대값을 필터링하는 것입니다..
그러나
user_array_filter( $aTxt, 'After_A_Num' , $iMaxStamp);
할 때 하나와 $iMaxStamp가 누락된 것을 발견했습니다. 값이 동일합니다. 무슨 일이 일어나고 있는지 알려줄 수 있는 사람이 있나요?
뭔가 잘못된 게 보이지 않습니다...
<code> function user_array_filter( &$array, $callback ) //后面可以跟第3个参数,作为 $callback 的参数; { $args = func_get_args(); //把function 所有参数保存成数组; if( count($args) < 2 ) exit('function user_array_filter()参数错误 , 最少有两个参数.'); if( count($args) == 2 ) //如果俩参数,就是有 $arr 和 $callback { foreach( $array as $k => $v ) { $result = $callback($v); if( !$result ) //如果 function 返回 false ; { unset( $array[$k] ); } } } else { $limit = $args[2]; // [0]->处理数组 , [1]->function , [2]->value foreach( $array as $k => $v ) { $result = $callback($v, $limit); if( !$result ) //如果 function 返回 false ; { unset( $array[$k] ); } } } $array = array_values($array); //把键重定义; } function Before_A_Num($num , $limit) { if ($num < $limit) return true; return false; } function After_A_Num($num , $limit) { if ($num > $limit) return true; return false; } </code>
은 최소값과 최대값을 필터링하는 것입니다..
그러나
user_array_filter( $aTxt, 'After_A_Num' , $iMaxStamp);
할 때 하나와 $iMaxStamp가 누락된 것을 발견했습니다. 값이 동일합니다. 무슨 일이 일어나고 있는지 알려줄 수 있는 사람이 있나요?
뭔가 잘못된 게 보이지 않습니다...
<code> function user_array_filter( &$array, $callback ) //后面可以跟第3个参数,作为 $callback 的参数; { $args = func_get_args(); //把function 所有参数保存成数组; if( count($args) < 2 ) exit('function user_array_filter()参数错误 , 最少有两个参数.'); if( count($args) == 2 ) //如果俩参数,就是有 $arr 和 $callback { foreach( $array as $k => $v ) { $result = $callback($v); if( !$result ) //如果 function 返回 false ; { unset( $array[$k] ); } } } else { $limit = $args[2]; // [0]->处理数组 , [1]->function , [2]->value foreach( $array as $k => $v ) { $result = $callback($v, $limit); if( !$result ) //如果 function 返回 false ; { unset( $array[$k] ); } } } $array = array_values($array); //把键重定义; } function Before_A_Num($num , $limit) { if ($num < $limit) return true; return false; } function After_A_Num($num , $limit) { if ($num > $limit) return true; return false; } </code>
분명히 말하면 현재 문제(다음 의사 코드)는 다음과 같습니다.
<code>$a = [1,3,45,6,6,7,7,5]; user_array_filter($a, 'After_A_Num', 6); var_dump($a); //目前的结果[7,7,45]</code>
그런데 기대하는 결과는 [6,6,7,7,45]
이겠죠?
이 경우 After_A_Num
함수를 보다 큼에서 크거나 같음으로 수정하세요.
그리고 함수 이름을 이렇게 짓는 것도 좋지 않은 것 같아요