1 kleinster Wert, aber nicht 0.00 20. März 2011, 20:55 Hallo, ich bin auf der Suche nach dem kleinsten Wert aus 4 Variablen. Quellcode $a = 5; $b = 0; $c = 1; $s = 2; echo min($a, $b, $c, $s); bringt mir 0, ich möchte aber, dass 0 nicht beachtet wird und 1 ausgegeben wird. Wie mache ich das? PS: Es könnte jede Variable mal 0 sein, aber nie alle.
2 20. März 2011, 22:10 Quellcode function min2($a, $b) { if($a == 0) return b; if($b == 0) return a; return ($a < $b) ? $a : $b; } function min4($a, $b, $c, $d) { return min2(min2($a, $b), min2($c, $d)); } Alles anzeigen Ist ungetestet -> ohne Garantie, dass es funktioniert !
3 20. März 2011, 22:58 Quellcode function minWithoutZero() { $args = func_get_args(); for($i=0;$i<=count($args);$i++) { if($args[$i] == 0) unset($args[$i]); } return min($args); } Mit PHP>=5.3 kann man es auch so lösen: Quellcode function minWithoutZero() { return min(array_filter(func_get_args(),function($var){if($var!=0)return $var;})); } stolpern fördert - Code Responsibly - Ein Appell an Webentwickler