在以下几行中我收到错误'String offset cast Ocured'
$code[$value['dictionaryAlias']] = $value['dictionaryText'][$codeLang];
$code[$value['dictionaryAlias']] = $value['dictionaryText'][$langDefault];
实际上,代码访问一个表。它适用于以前的版本,但不适用于5.4
我是新手,我负责转换代码。我应该做些什么改变才能使它发挥作用。 我读到这可能是因为变量是一个字符串而不是一个数组。那我该怎么办?
答案 0 :(得分:12)
这意味着$value['dictionaryText']
是一个字符串,$codeLang
或$langDefault
不是整数。索引操作符对字符串起作用,但只接受整数索引:当它接收到其他内容时,它会尝试将其转换为整数,最常导致值为0,并返回该索引处的字符。
这是他们在5.4中引入的一个新警告,因为这是一个经常出错并经常引起头痛的原因。