現在很多網站都用了異步加載的技術,大部分加載的數據格式都是json的(比如{"order":"205","205":"\u81ea\u9009\u80a1"}),下面就給大家羅列下php讀取數據後轉換成json輸出的幾種方法。
第一種最簡單的最常用的也就是拼字符串的方法,這裡我就不多介紹了
第二種就是借助json_encode函數
執行下面代碼
[php]
var_dump(json_decode('{"order":"205","205":"\u81ea"}'));
var_dump(json_decode('{"order":"205","205":"\u81ea"}'));
後結果為:
object(stdClass)#1 (2) { ["order"]=> string(3) "205" ["205"]=> string(3) "自" }
因此轉換前需要定義一個stdClass的對象,對其賦值後執行下json_encode函數就得到了需要的結果。
後來發現,定義一個數組也是可以實現的,只要最後的數組格式為:array(order=>205,"205"=>"\u81ea")就可以了,這樣的話給數組添加新元素的話就不能通過array_push的方式,而是要通過索引的方式賦值$arr["order"]="205";
兩者的優缺點
第一種執行速度比第二種相對要快些(本人已做了demo測試過),缺點是拼字符串的時候,有很多引號之類的,不太注意的話容易出錯
第二種更符合面向對象編程的習慣,並且會把中文unicode編碼的,缺點是是多了些包裝數據,解析數據的過程,因此速度相對會慢些,但是是完全可以接受的