#php #php-7.4 #php-8
#php #php-7.4
Вопрос:
$date1 = date('d M Y', strtotime(' ' . $i 1 . 'month'));
Эта ошибка появляется иногда, даже если я не вызываю эту функцию в этот момент, но она отлично работает, когда я обновляю страницу, это похоже на какое-то предупреждение.
Комментарии:
1. Как следует из предупреждения, попробуйте добавить скобки в
$i 1
so($i 1)
2. да , спасибо, это сработало
Ответ №1:
Проблема в том, что ваше выражение лица
' ' . $i 1 . 'month'
Во-первых, он вычисляет крайний левый операнд, который является ' '
. Затем он добавляется $i
к этому String
, в результате чего получается что-то вроде ‘ 123'
. А затем он пытается численно добавить 1
к этому String
, но это не удастся, потому что PHP не может преобразовать левую сторону в число. Для того, чтобы решить эту проблему, вам нужно $i 1
будет сначала оценить, а затем оценить свои String
.
Вы можете сделать это неявно:
$date1 = date('d M Y', strtotime(' ' . ($i 1) . 'month'));
или явно:
$monthOffset = $i 1; $date1 = date('d M Y', strtotime(' ' . $monthOffset . 'month'));