Решение Warning a non numeric value encountered php
-
Эта проблема связана с миграцией после версии php 7.
Если проблему не решить, на php 8 это вызовет фатальную ошибкуEсли просто, то в строке с ошибкой после +, -, *, или / вставляете (int)
ошибка
$fileupload_maxk = KB_IN_BYTES * get_site_option( ‘fileupload_maxk’, 1500 );мне помогло это (int)
$fileupload_maxk = KB_IN_BYTES * (int)get_site_option( ‘fileupload_maxk’, 1500 );Устранился Warning php 7.4 и фатальная ошибка при переходе на php 8
подробности:
https://www.php.net/manual/ru/migration71.other-changes.php
https://kirkizh.ru/2018/02/php7-non-numeric-value/ — здесь просто объясняется
другие решения
https://stackoverflow.com/questions/42044127/warning-a-non-numeric-value-encountered
PHP 7.1-7.4 Это предупреждение появляется, когда у вас есть нечисловая строка в выражении (вероятно +, -, *, или /), где PHP ожидает увидеть другой скаляр (int, float или bool). Возможны две ситуации, когда это происходит: Вы не хотели использовать операцию, которая ожидает скаляр. Например, +(добавление), когда вы имели в виду .(конкатенацию). Вы ожидали число, но значение, которое вы использовали, даже близко не соответствовало числу. Выясните, какой у вас не номер, и действуйте соответственно. Например, если у вас есть echo 3 + $variableи у вас $variableесть строка "n/a", вы можете вместо этого вывести «неприменимо». Или, может быть, вы решили, что все нечисловые значения должны рассматриваться как 0 и приводиться к . Исправьте эти предупреждения! В PHP 8 это становится фатальной ошибкой: «Uncaught TypeError: Неподдерживаемые типы операндов». PHP 8 Код, который раньше выдавал предупреждение «Обнаружено неверно сформированное числовое значение» в PHP 7.1-7.4, теперь вместо этого выдает это предупреждение. Это происходит, когда у вас есть «конечная строка», которая представляет собой строку, начинающуюся с числа, но за которой следует что-то нечисловое. (Он по-прежнему будет выполнять математические операции, но вы должны исправить это! В будущем это может стать ошибкой.)
- Тема «Решение Warning a non numeric value encountered php» закрыта для новых ответов.