为什么我会收到这些错误?
警告:第48行的C:\ xampp \ htdocs \ includes \ stream.class.php中的非法字符串偏移'en'
警告:第60行的C:\ xampp \ htdocs \ includes \ stream.class.php中的非法字符串偏移'en'
这是我的代码。
$s['target_data']['title'] = $s['target_data']['title']['en'];
$s['target_data']['description'] = $s['target_data']['description']['en'];
答案 0 :(得分:3)
问题是$s['target_data']['title']
是一个字符串,而不是您期望的数组。
PHP允许您使用数组类型语法索引到字符串(例如,$string[0]
返回$string
的第一个字符),但这仅适用于{{1}等数字索引 - 你不能使用像[0]
这样的字符串索引,这就是错误所抱怨的。
您展示的代码似乎是尝试将变量从数组转换为字符串并将其存储回同一个变量中。你可能会运行它两次 - 然后第二次得到错误,因为它不再是一个数组?
答案 1 :(得分:-1)
(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']不是数组,你可以将其转换为(数组)