実現したいこと
多次元配列で、最大値を一番多く持っているキーを取得したいです。
今回の場合は、3を2つ持つ「A」と「B」が出力されてほしいです。
該当のソースコード
PHP
1$array = [ 2 'A' => [3, 1, 3], 3 'B' => [3, 3, 0], 4 'D' => [2, 2, 3], 5]; 6 7// 各選択肢の最大値を取得する 8$maxes = array_map(function ($value) { 9 return max($value); 10}, $array); 11 12// 最大値の中の最大値を取得する 13$re_maxes = max($maxes); 14 15// 元の配列のキーで、最大値を一番多く持つものを出力する 16$result = array_keys($array, $re_maxes, true);
出力されている結果
Array ( )
試したこと
型の問題?と思い、trueを削除してみましたが変わりませんでした。
PHP
1$result = array_keys($array, $re_maxes);
array_count_values() が使えるかと思ったのですが、エラーとなりました。
array_count_values(): Can only count STRING and INTEGER values!
文字列か数値じゃないとダメだよと言われているのだと思うのですが、元の配列について、条件は満たしていると思うのですが間違っているでしょうか?

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/10/18 04:48