Что-то подобное существует?
например,
$var = -5; echo thefunction($var); // should be 0 $var = 5; echo thefunction($var); // should be 5
Попробуйте max($var,0)
, который будет иметь желаемый эффект. Дополнительную информацию см. На странице руководства .
Не встроенный, но здесь у вас есть:
function thefunction($var){ return ($var < 0 ? 0 : $var); }
Надеюсь это поможет
В 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)
function thefunction($number){ if ($number < 0) return 0; return $number; }
Это должно делать свое дело
Просто:
echo $var < 0 ? 0 : $var;