カテゴリー:
配列
閲覧数:425 配信日:2017-12-21 09:58
sort()
配列の値を、単純にソート
・キーは、再割り当てられる。例[3][1][2]→[0][1][2]
・単純に値だけをソートしたい場合は、asortよりも、sortを使う方が良い。※処理の速さが違うため
usort()
ユーザー定義の比較関数を使用して、配列を値でソート
・並べ換え対象である配列から、何らかの方法で2つの要素を取り出し、ユーザ定義関数へ渡す
ユーザ定義関数
・2つの要素の大小関係によって-1, 0, 1のいずれかを返し、その結果によって、usort()の内部処理で並べ換えるかどうか判断を行なう
・2つを比較して、その大小と等しいか?だけが分かればソートできる
・数値のソートの他に、文字列、場合によっては配列の比較やオブジェクトの比較でさえも、比較関数さえ用意できればソートできるように設計されている
昇順・降順の特性
- | 第1引数 | 不等号 | 第2引数 | 返り値 | ユーザー定義関数内での不等号比較例 | strcmp |
---|---|---|---|---|---|---|
昇順 | 大 | > | 小 | 1 | ($a > $b) ? 1 : -1; | strcmp($a,$b); |
昇順 | 小 | < | 大 | -1 | ($a < $b) ? -1 : 1; | strcmp($a,$b); |
降順 | 大 | > | 小 | 1 | ($a < $b) ? 1 : -1; | strcmp($b,$a); |
降順 | 小 | < | 大 | -1 | ($a > $b) ? -1 : 1; | strcmp($b,$a); |