質問編集履歴

1

追記情報の追加

2017/04/20 01:47

投稿

amaguri
amaguri

スコア227

test CHANGED
File without changes
test CHANGED
@@ -49,3 +49,69 @@
49
49
  となるようにしたい場合
50
50
 
51
51
  どのようにソートすれば実装することが可能でしょうか?
52
+
53
+
54
+
55
+
56
+
57
+ 追記
58
+
59
+ 昨日いただいた回答にて
60
+
61
+ ```ここに言語を入力
62
+
63
+ $arr2 = array(
64
+
65
+ array('no' => 1, 'name' => 'コナン'),
66
+
67
+ array('no' => 4, 'name' => '光彦'),
68
+
69
+ array('no' => 2, 'name' => '元太'),
70
+
71
+ array('no' => 3, 'name' => '歩美'),
72
+
73
+ array('no' => 5, 'name' => '哀'),
74
+
75
+ );
76
+
77
+
78
+
79
+ usort($arr2, function($a, $b) {
80
+
81
+
82
+
83
+ if ($a['no'] == $b['no']) {
84
+
85
+ return 0;
86
+
87
+ }
88
+
89
+
90
+
91
+ if ($a['no'] == 3) {
92
+
93
+ return -1;
94
+
95
+ }
96
+
97
+ if ($b['no'] == 3) {
98
+
99
+ return 1;
100
+
101
+ }
102
+
103
+
104
+
105
+ return $a['no'] - $b['no'];
106
+
107
+ });
108
+
109
+
110
+
111
+ print_r($arr2);
112
+
113
+ ```
114
+
115
+ このようにusortを利用しユーザー定義のソートができるのは理解しているのですが
116
+
117
+ ソートしたい基準値が複数の場合のソートの処理の書き方がわからず質問させていただきました。