2010-12-08 12 views
1

ここは私の配列です。私はusortを使うべきだと思いますが、それをどうやって得るのか分かりません。サブプールによるPHPソート配列

Array 
(
    [javascript] => Array 
     (
      [core] => Array 
       (
        [0] => Array 
         (
          [file] => /path/to/file.js 
          [weight] => 0 
         ) 

        [1] => Array 
         (
          [file] => /path/to/file2.js 
          [weight] => 1 
         ) 

       ) 

     ) 

) 

コアのインデックスを重み値でソートしたい場合は、他のファイルと重みも追加してソートします。

答えて

5
usort($array['javascript']['core'], function($a, $b) { 
    return $a['weight'] - $b['weight']; 
}); 
+0

実際の機能を作成する必要はありませんでしたが、どのように行ったのですか? – flyboarder

+0

@userうん、ごめんなさい。クロージャはPHP 5.3でのみ動作します。最良のことは、[usortマニュアルページ](http://www.php.net/manual/en/function.usort.php)を読んでください。それは、比較関数がどのように使用されるかについてかなり良い定義を持っています。 – Phil

+0

これを$ a-> weight- $ b-> weightに変更しなければならなかったのは、オブジェクトを使用しているためですが、これは完璧です。ありがとうございます。 – rncrtr