0

我在使用 php 时遇到此错误。错误是“警告:非法字符串偏移'root'”这是该行的实际代码

$root = $atts['root'];

任何帮助,将不胜感激

4

1 回答 1

1

在 PHP 中,$var[$index]语法适用于数组字符串。使用数组,这将返回$index数组中索引处的元素$var$index可以是字符串,意思$var是关联数组,也可以是整数,意思是普通数组(我相信它有一个更好的术语,但我'米不熟悉)。

对于字符串,$index(在这种情况下称为偏移量)只能是整数,并将返回字符串中位置$index的字符。因此,如果您有$var = 'this is my string';,那么$var[2]将从“this”返回字母“i”(请记住,数组和字符串的索引都从 0 开始)。

所以在这种情况下,很明显你期望$atts是一个数组,但它实际上是一个字符串。因此,您无法从另一个字符串('root')中检索索引,而只能从整数中检索。出于这个原因,你得到了错误,这几乎总结了我上面写的内容。使用字符串作为索引或偏移量,用于另一个字符串是非法的(您只能使用整数)。

在没有看到更多代码的情况下,我将无法说出为什么$atts是字符串而不是您期望的数组,但这有望帮助您理解为什么会出现该错误。

于 2013-04-30T05:10:35.940 回答