从数组中获取MIN值而不是0

时间:2012-07-09 10:26:59

标签: php

$array1 = array(0,1,3,0);
$array2 = array(2,0,3,2);
$array3 = array(0,4,5,1);

echo min($array1) . "\n";
echo min($array2) . "\n";
echo min($array3) . "\n";

这回报我:

0
0
0

但我希望收到:

1
2
1

如何在MIN函数中跳过0?

2 个答案:

答案 0 :(得分:14)

尝试array_filter

  

如果没有提供回调,则将删除所有输入等于FALSE的条目。

所以它会为您删除0

echo min(array_filter($array1)) . "\n";

答案 1 :(得分:7)

array_filter外,您可以更明确地使用

$min = min(array_diff($array1, array(0));    // result = 1

这可以让你非常轻易地忽略更多的价值,例如

$min = min(array_diff($array1, array(0, 1)); // result = 3