$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";
this will return me:
0 0 0
but I want to receive:
1 2 1
How to skip 0 in MIN function?
Try array_filter :
If the callback does not return, all input entries equal to FALSE will be deleted.
to remove 0for you.
0
echo min(array_filter($array1)) . "\n";
In addition to array_filteryou can be more explicit with
array_filter
$min = min(array_diff($array1, array(0)); // result = 1
This can allow you to ignore more values very easily, for example.
$min = min(array_diff($array1, array(0, 1)); // result = 3