2014年10月31日 星期五

PHP Array 經過 json_encode 後在 Javascript 使用之順序錯誤的問題

我們常常會在 PHP 端把資料陣列做 json_encode 再傳給 Javascript 做處理,但是假如我們在 PHP 的 array 是有 key 值的(無論數字或英文),且經過 json_encode 再傳給 Javascript 用,就會發現在 Javascript 中陣列的順序會被依序排序,所以如果有這類的使用情境一定要特別注意,以免 Debug 半天找不到原因在哪!

而解決的方法其實也很簡單,第一個方法當然就是在 PHP 端先把它重組並照著順序排好。第二個方法則是在 PHP array 中建立一個排序值,然後在 Javascript 中把 Json object 轉換成 Javascript 的 array,如此一來便不會發生此問題啦!

沒有留言:

張貼留言