Eri*_*ric 6 php constants rounding undefined
我正在使用PHP的圆函数的项目中有一些PHP代码.在我的本地主机上,我没有在我的模式参数中包含任何引号,仅将其声明为PHP_ROUND_HALF_DOWN.但是,当推送到我的服务器时,我收到错误消息:
Use of undefined constant PHP_ROUND_HALF_DOWN - assumed 'PHP_ROUND_HALF_DOWN'
Warning (2): Wrong parameter count for round() [APP/views/helpers/time_left.php, line 14]
Run Code Online (Sandbox Code Playgroud)
现在,当我将单引号添加到mode参数时,第一个错误消失,但"错误的参数计数"仍然存在.我正在调用函数如下:
$days = round(($difference/$day), 0, PHP_ROUND_HALF_DOWN);
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助!
Mar*_*ker 11
mode参数仅在PHP 5.3.0中添加.如果您运行的是早期版本的PHP,则不会定义模式选项常量(PHP_ROUND_HALF_UP,PHP_ROUND_HALF_DOWN,PHP_ROUND_HALF_EVEN和PHP_ROUND_HALF_ODD)
编辑
你不能在5.3.0之前使用round()的mode参数,但你可以通过组合函数来实现等价:
round(floor($value * 100) / 100,2); // to round down to 2dp
round(floor($value * 1000) / 1000,3); // to round down to 3dp
round(ceil($value * 100) / 100,2); // to round up to 2dp
Run Code Online (Sandbox Code Playgroud)
的舍入模式中PHP 5.3中的溶液.确保您至少运行该版本.
您可以通过将以下内容放在PHP文件中来查看正在运行的版本:
var_dump(phpversion());
Run Code Online (Sandbox Code Playgroud)