質問: ``` {3:"hoge", 2:"fuga", 1:"hogefuga"} ``` と言うようなjsonデータをphpで出力させてjqueryを使用してプルダウンを作ろうとしているのですが phpで出力させる段階で以下のように昇順でソートされて出力されてしまいます。 ``` {1:"hogefuga", 2:"fuga", 3:"hoge"} ``` これをphpで出力させる段階でそのままの順番で出力できないでしょうか? もしくはjquery側でソート出来る方法はないでしょうか? 試したことは phpではjson_encodeを使用せずに直接記述して出力させてみましたが自動で昇順ソートされてしまいました。 jqueryではjsonデータを配列に変換後array.sortを使用してソートをしてみましたがnot functionエラーで実現できませんでした。 phpは7です
回答: jqueryだと ``` {1:"hogefuga", 3:"hoge", 2:"fuga"} // は確実にソートされて {"1":"hogefuga", "3":"hoge", "2":"fuga"} // はソートされないこともある ``` かんじかな(いつのバージョンか忘れた) 最新 3.3.1 では ============ ``` {1:"hogefuga", 3:"hoge", 2:"fuga"} // はエラーになる {"1":"hogefuga", "3":"hoge", "2":"fuga"} // は確実にソートされて ``` 模様(確認した)