php 5.4发生字符串偏移转换

时间:2013-05-22 17:22:20

标签: php

在以下几行中我收到错误'String offset cast Ocured'

$code[$value['dictionaryAlias']] = $value['dictionaryText'][$codeLang];

$code[$value['dictionaryAlias']] = $value['dictionaryText'][$langDefault];

实际上,代码访问一个表。它适用于以前的版本,但不适用于5.4

我是新手,我负责转换代码。我应该做些什么改变才能使它发挥作用。 我读到这可能是因为变量是一个字符串而不是一个数组。那我该怎么办?

1 个答案:

答案 0 :(得分:12)

这意味着$value['dictionaryText']是一个字符串,$codeLang$langDefault不是整数。索引操作符对字符串起作用,但只接受整数索引:当它接收到其他内容时,它会尝试将其转换为整数,最常导致值为0,并返回该索引处的字符。

这是他们在5.4中引入的一个新警告,因为这是一个经常出错并经常引起头痛的原因。