4

我想在 php 中找到零计数形式的 min() 函数的最小值,但它让我得到零,我怎样才能找到零?

     $a = 0; $b = 3; $c= 4, $d = 8;
     $minvalue = min($a,$b,$c,$d);

我想要的预期结果是 3,但它给了我零,

我怎么能忽略零,我想要一个不为零的结果,请帮我这样做。提前致谢

4

4 回答 4

7

像这样的东西

function ownMin($value)
    {
    return min(array_filter(func_get_args()));
    }
$a = 0; $b = 3; $c= 4; $d = 8;
echo ownMin($a,$b,$c,$d); // 3
于 2013-05-14T04:52:07.027 回答
2

试试这个:

function my_min(){
   $excludes = array(0); // anything, that should be filtered out.
   $values   = array_diff(func_get_args(), $excludes);

   return min($values);
}

var_dump(my_min(12, 0, 15, 0, 18));

显示:

int(12)

看看array_diff()func_get_args()

于 2013-05-14T04:56:05.453 回答
1

试试这个

function nonzero($a){ 
   return ($a > 0); 
} 

min(array_filter($yournumbers,"nonzero"));
于 2013-05-14T04:50:09.407 回答
0

写你的功能:

function myMin()
{
$numargs = func_num_args();


$arg_list = func_get_args();
$min = PHP_INT_MAX ; 
for ($i = 0; $i < $numargs; $i++) {
    if($arg_list[$i] != 0 && $arg_list[$i] < $min)
     {
          $min = Arg_list[$i];
     }
}
return $min;
}

调用:mymin(0,1,2,3,5) => 1

于 2013-05-14T06:49:06.653 回答