2017-08-16 4 views
-1

"DUPLICATE"の叫びが始まる前に、私はこの問題を解決するためのガイドとしていくつかの投稿を使用しました。しかし、私は最後のステップで立ち往生しています。大きなJSONオブジェクトをPHPの小さなJSONオブジェクトでソートする

私はJSONオブジェクトを5つ持っています。このオブジェクトは、Webページ上に表を移入するために使用されます。テーブルの各項目は0〜100のスコアを持ちますが、テーブルに無意識に投げ込まれます。私は彼らが一番低いスコアでソートされて表示されるようにします。私は何

$jarr = json_decode($json, true); 
$marr = $jarr['g']; 

foreach ($marr as $key => $row){ 
    $score[$key] = $row['score']; 
    $component[$key] = $row[$key]; 
} 

array_multisort($score, SORT_ASC, $component, SORT_STRING, $marr); 
print_r($marr); 

推論:小さいオブジェクト「G」は、より大きなJSONオブジェクト内の連想配列の配列であり、実際にソートする必要がある唯一のものであるので、私は上の操作その部分だけが機能コードを持っています。

このスニペットをソースに挿入すると、ページが破られることはありませんでしたが、スコアの出力しか得られません。下の配列の中に他のすべての情報も必要です。私は大きなJSONオブジェクトにロジックを適用しようとしましたが、何もしませんでした(ここではユーザーエラーである可能性があります)、小さなオブジェクトをソートして大きなオブジェクトをソートしようとしました。

「g」オブジェクトをソートしてJSONオブジェクト全体を返すにはどうすればよいですか?

編集:問題の一部は、ソースコードがJSONをコードスニペットの配列に変換していないことがわかりました。これはなぜ互換性がないのかを説明していますが、依然としてソート機能を働かせています。

答えて

0

私が必要とするのはそのコードです。最後のステップは、結果の配列をオブジェクトとしてキャストし、Smartyコードがすべてを正しく参照していることを確認することでした。

関連する問題