MEMO2017-05-11[PHP]usortに関する覚書PHPでソートをしたくなって、usortって関数がすごく便利で良かったんだけど正直理解しづらい部分があって未来の自分がすぐ使い方を思い出せるようにするための覚書。$b;});上記のように、第一引数にはソートしたい配列、第二引数には値の比較用の関数を渡す。比較用の関数に関して、コメントに書いている通り返り値が正なら二つ目の引数である$b、負の値なら一つ目の引数である$aが配列の手前にくるべきやつであると判断される。一度書く、「返り値が正なら第二引数が手前、負なら第一引数が手前」である。例1数値が格納されているインデックス配列を昇順に並び替えたい場合は以下の通りになる。$b」が正になるのは$aが$bより大きい場合、つまり昇順に並べ替えたいので$bが手前に来て欲しいパターンなので、「返り値が正なら第二引数が手前、負なら第一引数が手前」より$bが手前に来る。例2例1のような単純なパターンならusortの恩恵はほとんど感じられないが、オブジェクトや多次元配列なんかをソートしたい際はすごく重宝する。順で並び替えしたいといった場合は以下のようなコードになる。}}このように、オブジェクトの配列や多次元配列をソートしたい際に、usortだとややこしい部分はあるものの比較的シンプルにソート処理を書くことが出来る。