为什么会出现这些错误?
警告:第48行C:''examplep''htdocs''includes''stream.class.php中的非法字符串偏移量'en'
警告:第60行C:''examplep''htdocs''includes''stream.class.php中的非法字符串偏移量'en'
这是我的密码。
$s['target_data']['title'] = $s['target_data']['title']['en'];
$s['target_data']['description'] = $s['target_data']['description']['en'];
问题是$s['target_data']['title']
是一个字符串,而不是您所期望的数组。
PHP允许您使用数组类型语法对字符串进行索引(例如,$string[0]
返回$string
的第一个字符),但这只适用于像[0]
这样的数字索引-您不能使用像["en"]
这样的字符串索引,这正是错误所抱怨的。
您展示的代码似乎试图将变量从数组转换为字符串,并将其存储回同一个变量中。你可能会运行它两次,然后第二次出现错误,因为它不再是一个数组吗?
(array) $s['target_data']['title'] = (array) $s['target_data']['title']['en'];
(array) $s['target_data']['description'] = (array)$s['target_data']['description']['en'];
如果您的$s['target_data']['description']和$s['target_data']['title']不是数组,则可以将其强制转换为(array)