如何在php中找到不含零计数的最小值?

如何在php中找到不含零计数的最小值?,php,function,Php,Function,我想在php中用out count zero form min()函数查找最小值,但它得到的是零,我怎么能用out zero查找呢 $a = 0; $b = 3; $c= 4, $d = 8; $minvalue = min($a,$b,$c,$d); 我想要的预期结果是3, 但它给了我零 我怎么能忽略零,我想要一个没有零的结果, 请帮我做这个。提前感谢试试这个 function nonzero($a){ return ($a > 0); } min(a

我想在php中用out count zero form min()函数查找最小值,但它得到的是零,我怎么能用out zero查找呢

     $a = 0; $b = 3; $c= 4, $d = 8;
     $minvalue = min($a,$b,$c,$d);
我想要的预期结果是3, 但它给了我零

我怎么能忽略零,我想要一个没有零的结果, 请帮我做这个。提前感谢

试试这个

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

min(array_filter($yournumbers,"nonzero"));
像这样的

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
试试这个:

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)
查看并。

编写您的函数:

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()
{
$numargs=func_num_args();
$arg_list=func_get_args();
$min=PHP\u INT\u MAX;
对于($i=0;$i<$numargs;$i++){
如果($arg_列表[$i]!=0&&$arg_列表[$i]<$min)
{
$min=Arg_列表[$i];
}
}
返回$min;
}

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

编写自己的函数尼斯解决方案。。非常干净。当你必须排除其他数字时,这将非常有用。@当然是的,这就是我发布它的原因,不管“投票”的答案是什么。@腐败,不要忘记数组过滤器的额外参数:)@sectus我的代码中没有
array\u filter()
。我错过要点了吗?什么意思?