有这样的事吗?
例如
$var = -5;
echo thefunction($var); // should be 0
$var = 5;
echo thefunction($var); // should be 5
答案 0 :(得分:144)
尝试max($var,0)
,这会产生预期的效果。有关详细信息,请参阅manual page。
答案 1 :(得分:4)
不是内置的,但是,你有:
function thefunction($var){
return ($var < 0 ? 0 : $var);
}
希望这有帮助
答案 2 :(得分:3)
在PHP中,检查一个整数是否为负数,如果是,那么将其设置为零很容易,但我正在寻找比以下更短(并且可能更快)的东西:
if ($x < 0) $x = 0;
嗯,这是一个非常快速的检查和重置,但是有一个函数max也可以这样做,它也适用于数组。
$x = max(0, $x); // $x will be set to 0 if it was less than 0
max()函数返回具有两个指定数字的最高值的数字。
echo max(1, 3, 5, 6, 7); // 7
echo max(array(2, 4, 5)); // 5
echo max(0, 'hello'); // 0
echo max('hello', 0); // hello
echo max(-1, 'hello'); // hello
// With multiple arrays, max compares from left to right
// so in our example: 2 == 2, but 4 < 5
$val = max(array(2, 4, 8), array(2, 5, 7)); // array(2, 5, 7)
// If both an array and non-array are given, the array
// is always returned as it's seen as the largest
$val = max('string', array(2, 5, 7), 42); // array(2, 5, 7)
答案 3 :(得分:2)
function thefunction($number){
if ($number < 0)
return 0;
return $number;
}
应该做的伎俩
答案 4 :(得分:1)
简单地:
echo $var < 0 ? 0 : $var;