回答編集履歴
1
test
CHANGED
@@ -24,3 +24,36 @@
|
|
24
24
|
} );
|
25
25
|
print_r($a);
|
26
26
|
```
|
27
|
+
# 拗音を吸収
|
28
|
+
```PHP
|
29
|
+
<?PHP
|
30
|
+
$a = [
|
31
|
+
["code"=>"3B", "name"=>"たかぎ けいじ"],
|
32
|
+
["code"=>"3A", "name"=>"いのまた らん"],
|
33
|
+
["code"=>"3B", "name"=>"おかべ けいすけ"],
|
34
|
+
["code"=>"3A", "name"=>"おかもと あい"],
|
35
|
+
["code"=>"3A", "name"=>"おがさわら いちろう"],
|
36
|
+
["code"=>"3B", "name"=>"おがさわら はなこ"],
|
37
|
+
["code"=>"3C", "name"=>"ひよ6"],
|
38
|
+
["code"=>"3C", "name"=>"びよ5"],
|
39
|
+
["code"=>"3C", "name"=>"びょ4"],
|
40
|
+
["code"=>"3C", "name"=>"ぴょ3"],
|
41
|
+
["code"=>"3C", "name"=>"ひょ2"],
|
42
|
+
["code"=>"3C", "name"=>"ぴよ1"],
|
43
|
+
];
|
44
|
+
$names=array_map(function($x){
|
45
|
+
return [$x["name"],str_replace(["っ","ゃ","ゅ","ょ"],["つ","や","ゆ","よ"],mb_convert_kana(str_replace(["゙","゚",],"",mb_convert_kana($x["name"],"h")),"H"))];
|
46
|
+
},$a);
|
47
|
+
usort($names,function($x,$y){
|
48
|
+
return $x[1]>$y[1];
|
49
|
+
});
|
50
|
+
$names=array_flip(array_map(function($x){
|
51
|
+
return $x[0];
|
52
|
+
},$names));
|
53
|
+
usort($a,function($x,$y) use($names){
|
54
|
+
return $x["code"]==$y["code"]?
|
55
|
+
$names[$x["name"]]>$names[$y["name"]]:
|
56
|
+
$x["code"]>$y["code"];
|
57
|
+
} );
|
58
|
+
print_r($a);
|
59
|
+
```
|