這個段英文報錯原文:
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); }