回答編集履歴

1

追記

2017/04/20 01:55

投稿

masaya_ohashi
masaya_ohashi

スコア9206

test CHANGED
@@ -1 +1,63 @@
1
1
  usort([http://php.net/manual/ja/function.usort.php](http://php.net/manual/ja/function.usort.php))を使います。ソート処理の関数は自分で考えてください。
2
+
3
+
4
+
5
+ # 追記
6
+
7
+ 比較関数の参考です。複数条件を全部なぞらえていけばいいだけです。
8
+
9
+ ```PHP
10
+
11
+ function cmp($left, $right) {
12
+
13
+ // aが2かどうか
14
+
15
+ if($left['a'] == 2 && $right['a'] != 2) {
16
+
17
+ return -1;
18
+
19
+ }
20
+
21
+ if($left['a'] != 2 && $right['a'] == 2) {
22
+
23
+ return 1;
24
+
25
+ }
26
+
27
+
28
+
29
+ // aの昇順
30
+
31
+ if($left['a'] < $right['a']) {
32
+
33
+ return -1;
34
+
35
+ }
36
+
37
+ else if($left['a'] > $right['a']) {
38
+
39
+ return 1;
40
+
41
+ }
42
+
43
+
44
+
45
+ // bの降順
46
+
47
+ if($left['b'] > $right['b']) {
48
+
49
+ return -1;
50
+
51
+ }
52
+
53
+ else if($left['b'] < $right['b']) {
54
+
55
+ return 1;
56
+
57
+ }
58
+
59
+ return 0;
60
+
61
+ }
62
+
63
+ ```