в следующих строках я получаю сообщение об ошибке «String offset cast occured»
$code[$value['dictionaryAlias']] = $value['dictionaryText'][$codeLang]; $code[$value['dictionaryAlias']] = $value['dictionaryText'][$langDefault];
Фактически, код доступа к таблице. Он работает в предыдущей версии, но не в 5.4
Я новичок, и я отвечаю за перевод кода. Какие изменения я должен внести, чтобы заставить его работать. Я читал, что это, вероятно, потому, что переменная является строкой вместо массива. Что я могу сделать тогда?
Это означает, что $value['dictionaryText']
является строкой, и либо $codeLang
либо $langDefault
не является целым числом. Оператор индексирования работает с строками, но принимает только целые индексы: когда он получает что-то еще, он пытается преобразовать его в целое число, чаще всего приводящее к значению 0, и возвращает символ в этом индексе.
Это новое предупреждение, которое они ввели в 5.4, потому что это была частая ошибка и частая причина головных болей.