質問するログイン新規登録

回答編集履歴

1

追記

2017/04/20 01:55

投稿

masaya_ohashi
masaya_ohashi

スコア9210

answer CHANGED
@@ -1,1 +1,32 @@
1
- usort([http://php.net/manual/ja/function.usort.php](http://php.net/manual/ja/function.usort.php))を使います。ソート処理の関数は自分で考えてください。
1
+ usort([http://php.net/manual/ja/function.usort.php](http://php.net/manual/ja/function.usort.php))を使います。ソート処理の関数は自分で考えてください。
2
+
3
+ # 追記
4
+ 比較関数の参考です。複数条件を全部なぞらえていけばいいだけです。
5
+ ```PHP
6
+ function cmp($left, $right) {
7
+ // aが2かどうか
8
+ if($left['a'] == 2 && $right['a'] != 2) {
9
+ return -1;
10
+ }
11
+ if($left['a'] != 2 && $right['a'] == 2) {
12
+ return 1;
13
+ }
14
+
15
+ // aの昇順
16
+ if($left['a'] < $right['a']) {
17
+ return -1;
18
+ }
19
+ else if($left['a'] > $right['a']) {
20
+ return 1;
21
+ }
22
+
23
+ // bの降順
24
+ if($left['b'] > $right['b']) {
25
+ return -1;
26
+ }
27
+ else if($left['b'] < $right['b']) {
28
+ return 1;
29
+ }
30
+ return 0;
31
+ }
32
+ ```