I have some PHP code in a project I'm working on that uses PHP's round function. On my localhost, I don't include any quotes around my mode argument, stating it as just PHP_ROUND_HALF_DOWN. However, when pushing to my server I get the error message:
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]
Now, when I add the single quotes to the mode argument, the first error goes away, however the "wrong parameter count" remains. I'm calling the function as follows:
$days = round(($difference/$day), 0, PHP_ROUND_HALF_DOWN);
Thanks for any and all help!
The mode argument was only added in PHP 5.3.0. If you're running an earlier version of PHP, then the mode option constants (PHP_ROUND_HALF_UP, PHP_ROUND_HALF_DOWN, PHP_ROUND_HALF_EVEN, and PHP_ROUND_HALF_ODD) won't be defined
EDIT
You can't use the mode argument for round() prior to 5.3.0, but you can achieve the equivalent by combining functions:
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
The rounding mode was added in PHP 5.3. Make sure you're running at least that version.
You can see which version you're running by placing the following in a PHP file:
var_dump(phpversion());
PHP_ROUND_HALF_DOWN
requires PHP 5.3.0 as seen here: http://php.net/manual/en/math.constants.php
You're probably on a lower PHP version.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With