a-numeric-string-as-array-key-in-PHP

iyoungm發表於2018-09-21

數字的字串作為陣列 key

偶然通過 json_decode 將 json 轉換成下面格式:

{#523
  +"22": {#630
    +"supplierId": 22
    +"supplierCode": "SPN000001"
    +"supplierName": "桃李"
  }
}

(array)object 這樣將其轉為陣列,列印如下:

array:1 [
  "22" => {#630
    +"supplierId": 22
    +"supplierCode": "SPN000001"
    +"supplierName": "桃李"
  }
]

此時通過 $array[22] 取值,會報 NOTICE 錯誤:

ErrorException (E_NOTICE)
Undefined offset: 22

array_key_exists 亦返回 false:

array_key_exists("22", $supplierInfo)  //false
array_key_exists(22, $supplierInfo)    //false

https://stackoverflow.com/questions/410048...

本作品採用《CC 協議》,轉載必須註明作者和本文連結