-2

为什么我会收到这些错误?

警告:第 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'];
4

2 回答 2

4

问题是这$s['target_data']['title']是一个字符串,而不是您似乎期望的数组。

PHP 允许您使用数组类型语法来索引字符串(例如,$string[0]返回 的第一个字符$string),但这仅适用于数字索引,例如[0]- 您不能使用字符串索引["en"],这就是错误所抱怨的。

您显示的代码似乎试图将变量从数组转换为字符串并将其存储回同一个变量中。您可能会运行它两次 - 然后因为它不再是数组而第二次出现错误?

于 2013-06-29T20:27:51.250 回答
-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'] 不是数组,则可以将其转换为 (array)

于 2013-06-29T20:29:34.587 回答