@WebforSelf

Как исправить ошибку String offset cast occurred in?

Добрый день, подскажите как исправить ошибку

Notice: String offset cast occurred in

Ошибку вызывает строка

for($middle = floor(strlen($str)/2); $middle >= 0 && $str[$middle] !== ' '; $middle--);


В целом участок кода с ошибкой выглядит

$order_ad_count = strlen($order->address);
		if($order_ad_count>'40') {
			$str = $order->address;
    for($middle = floor(strlen($str)/2); $middle >= 0 && $str[$middle] !== ' '; $middle--);
			$order->ad = substr($str, 0, $middle);
			$order->add = substr($str, $middle+1);
		}


Ошибка появилась после перехода на PHP 7 с 5.3
  • Вопрос задан
  • 1132 просмотра
Решения вопроса 1
origami1024
@origami1024
went out for a night walk
1. У тебя там после цикла нет открывающейся скобки.
2. Cкастуй floor(strlen($str)/2) в integer:
for ($middle = (int)floor(strlen($str)/2); $middle >= 0 && $str[$middle] !== ' '; $middle--) {
  ...
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы