这个段英文报错原文:
Cannot access offset of type string on string
因为英文鸟语的天生缺陷, 表达个破事句子都比较长, 先白话翻译过来, 意思是: 在字符串类型场景中用了字符串偏移量来从中取值。
用咱人话来说就是字符串被当成数组处理报错啦!
用代码案例解释一下这个迷惑行为吧。
假如你写了这段php代码并执行它:
$string_sample = 'abcde'; var_dump($string_sample['string_offset']);
就会报同样的错误。
相信没有人会用这种方式去截取字符串,一般我们写字符串下标都是用来应付数组的。如何避免这种BUG发生?就拿上个例子看, 在复杂业务逻辑里,不妨先确定一下$string_sample的数据类型。
if(is_array($string_sample)) { var_dump($string_sample['xxx']); } else { var_dump($string_sample); }