1
我使用json_encode
來轉儲數組,我得到不同的結果,使用array()
和SplFixedArray
。當我使用array()
時,它給了我陣列,但是當我使用SplFixedArray
時給了我一個對象。是否有一個原因?爲什麼SplFixedArray的json_encode轉儲對象而不是數組?
這是當我使用普通陣列()什麼是返回:
[{"firstName":"Bo","middleName":"N","lastName":"Higgs"},
{"firstName":"Bob","middleName":"D","lastName":"Superstar"}]
當我使用SplFixedArray它給了我:
{"0":{"firstName":"Bo","middleName":"N","lastName":"Higgs"},
"1":{"firstName":"Bob","middleName":"D","lastName":"Superstar"}}
這兩個字符串是完全不同的,JSON數組不是JSON對象。嘗試使用另一種語言解碼它,而不是PHP,你就會明白。只有PHP將所有數組視爲hashmaps,並且它的唯一真正的數組類型'SplFixedArray' JSON到對象中是非常奇怪的。 – oskarth 2017-10-20 08:23:22