回答編集履歴

2

解説

2021/10/12 01:56

投稿

yambejp
yambejp

スコア116724

test CHANGED
@@ -29,3 +29,87 @@
29
29
  print "最大要素数のアイテムは".implode(",",$b);
30
30
 
31
31
  ```
32
+
33
+
34
+
35
+ # 解説
36
+
37
+ 便宜上要素の順番は変えてあります。
38
+
39
+ 以下実行結果とあわせて確認してみてください。
40
+
41
+ ```PHP
42
+
43
+ <?PHP
44
+
45
+ $book_titles = [
46
+
47
+ "ruby" => ["たのしいRuby"],
48
+
49
+ "php" => ["やさしいPHP", "独習PHP", "PHPフレームワークLaravel入門","test"],
50
+
51
+ "java" => ["やさしいJava", "Java言語で学ぶデザインパターン入門"],
52
+
53
+ "python" =>["たのしいPython", "スラスラわかるPython", "いちばんやさしいPythonの教本", "退屈なことはPythonにやらせよう"]
54
+
55
+ ];
56
+
57
+
58
+
59
+ $keys=array_keys($book_titles);
60
+
61
+ print "キーをリスト化<br>";
62
+
63
+ print_r($keys);
64
+
65
+ print "<hr>";
66
+
67
+ $a=array_reduce($keys,function($x,$y) use($book_titles){
68
+
69
+ print "要素数をカウント<br>";
70
+
71
+ $count=count($book_titles[$y]);
72
+
73
+ print_r($count);
74
+
75
+ print "<hr>";
76
+
77
+ $x[$count][]=$y;
78
+
79
+ print "要素数をキーにした要素をリスト化<br>";
80
+
81
+ print_r($x);
82
+
83
+ print "<hr>";
84
+
85
+ return $x;
86
+
87
+ },[]);
88
+
89
+ print "集計されたリスト<br>";
90
+
91
+ print_r($a);
92
+
93
+ print "<hr>";
94
+
95
+ krsort($a);
96
+
97
+ print "キーの逆順でソート<br>";
98
+
99
+ print_r($a);
100
+
101
+ print "<hr>";
102
+
103
+ print "先頭データを取り出す<br>";
104
+
105
+ $b=array_shift($a);
106
+
107
+ print_r($b);
108
+
109
+ print "<hr>";
110
+
111
+ print "結合して表示<br>";
112
+
113
+ print_r(implode(",",$b));
114
+
115
+ ```

1

chousei

2021/10/12 01:56

投稿

yambejp
yambejp

スコア116724

test CHANGED
@@ -26,6 +26,6 @@
26
26
 
27
27
  $b=array_shift($a);
28
28
 
29
- print_r(implode(",",$b));
29
+ print "最大要素数のアイテムは".implode(",",$b);
30
30
 
31
31
  ```