我在使用 php 时遇到此错误。错误是“警告:非法字符串偏移'root'”这是该行的实际代码
$root = $atts['root'];
任何帮助,将不胜感激
在 PHP 中,$var[$index]
语法适用于数组和字符串。使用数组,这将返回$index
数组中索引处的元素$var
($index
可以是字符串,意思$var
是关联数组,也可以是整数,意思是普通数组(我相信它有一个更好的术语,但我'米不熟悉)。
对于字符串,$index
(在这种情况下称为偏移量)只能是整数,并将返回字符串中位置$index
的字符。因此,如果您有$var = 'this is my string';
,那么$var[2]
将从“this”返回字母“i”(请记住,数组和字符串的索引都从 0 开始)。
所以在这种情况下,很明显你期望$atts
是一个数组,但它实际上是一个字符串。因此,您无法从另一个字符串('root')中检索索引,而只能从整数中检索。出于这个原因,你得到了错误,这几乎总结了我上面写的内容。使用字符串作为索引或偏移量,用于另一个字符串是非法的(您只能使用整数)。
在没有看到更多代码的情况下,我将无法说出为什么$atts
是字符串而不是您期望的数组,但这有望帮助您理解为什么会出现该错误。