Я получаю ошибку сервера в этом коде:
$value = "1223.65";
echo (number_format((float)$value, 2) + 0);
Кажется, что ошибка возникает только с 4+ цифрами.






Функция number_format() обрабатывает числовое значение и возвращает это значение, отформатированное в виде строки.
Ошибка возникает только с более чем четырьмя цифрами, потому что это происходит, когда вы вводите разделитель тысяч, «а введенное вами значение «2» означает точность 2 цифры».
Вы можете сделать следующее:
$value = (float)"1223.65";
echo ((float)number_format($value, 2) + 0);
См. в документации PHP: http://php.net/manual/pt_BR/function.number-format.php
Поскольку
number_formatвозвращает отформатированную строку, и поскольку вы не указали разделитель (тысячи по умолчанию разделяются,) для числа >= 1000, вы получаете строку1,223.65. Затем вы пытаетесь выполнить математическую операцию над этой строкой1,223.65, которая не является правильно сформированным числовым значением, поэтому это уведомление.