默认的php函数,将负数转换为0

foo*_*foo 49 php math variables numbers

有这样的事吗?

例如

$var = -5;
echo thefunction($var); // should be 0


$var = 5;
echo thefunction($var); // should be 5
Run Code Online (Sandbox Code Playgroud)

Ale*_*ler 154

尝试max($var,0),这将产生预期的效果.有关更多信息,请参见手册页.

  • @foo如果要进行数值比较,总是可以将参数类型转换为数字(例如整数).例如.`max((int)$ var,0)` (2认同)
  • @foo:请查看我链接到的页面上的示例.正如您所看到的,关于非数字的行为是明确定义的,但可能不是您想要的.您应该过滤非数字,如果您知道它的数字,则只使用`max`. (2认同)
  • 如果你想允许任意参数,那么说`return is_numeric($ x)&& $ x> 0?$ x:0;`. (2认同)

Edg*_*ado 5

不是内置的,但是,这里有:

function thefunction($var){
   return ($var < 0 ? 0 : $var);
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助