Товар успешно добавлен в корзину!
Блог Кодинг Портфолио Я

Ошибка String offset cast occurred

Кодинг Ошибки
Ошибка String offset cast occurred появилась вместе с php версии 5.4. (статья будет дополнена позже)

18.03.2014, 4497 просмотров.

Комментарии

Эта ошибка появляется не только при работе со строками, но и с массивами. А причина очень простая - в качестве индекса используется число типа float. Это может произойти в результате неявного приведения типов, при получении индекса.
Например:
$div = floor($a / $b);
$mod = ($a - ($ * $div));
$s = $my_array[ $mod ];
У числа $mod не будет дробной части, но тип будет float, что породит ошибку.
Решение - явное приведение индекса к int:
$div = floor($a / $b);
$mod = ($a -($ * $div));
$s = $my_array[(int) $mod];

Вячеслав 19.04.2015 12:58:45 ответить #

Имя
E-mail
Комментарий

Добавить комментарий

Имя
E-mail
Комментарий