PHP

Fatal error: Uncaught TypeError: Cannot access offset of type string on string

字號+ 編輯: 国内TP粉 修訂: 种花家 來源: 2023-09-12 我要說兩句(0)

筆者在使用swoole task處理任務通訊信息接口時因爲中途忘記注意某段發出的消息類型, 引起了這個錯誤。

这个段英文报错原文:

Cannot access offset of type string on string

因为英文鸟语的天生缺陷, 表达个破事句子都比较长, 先白话翻译过来, 意思是: 在字符串类型场景中用了字符串偏移量来从中取值。

用咱人话来说就是字符串被当成数组处理报错啦!

6828f5cc342e8272100374c0e09ee6a5.jpeg

用代码案例解释一下这个迷惑行为吧。

假如你写了这段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);
}


閲完此文,您的感想如何?
  • 有用

    1

  • 沒用

    0

  • 開心

    1

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: PHP+JS聊天群

相關課文
  • mac開發接入微信公衆號接口返回報錯 cURL error 56: SSLRead() return error -9806

  • pecl安裝程序時報錯Array and string offset access syntax with curly braces is no longer supported

  • PHP的換行符是什麽

  • 由於商家傳入的H5交易參數有誤,該筆交易暫時無法完成,請聯系商家解決

我要說說
網上賓友點評