php array_count_valuesで配列内の少数の値をカウントする

phpで、array_count_valuesを使用して、配列内の少数の値をカウントするサンプルコードを記述してます。phpのバージョンは8.0です。
環境
- OS CentOS Linux release 8.0.1905 (Core)
- php 8.0.0
- nginx 1.14.1
array_count_values使い方
array_count_valuesを使用すれば、配列内の同じ値を数をカウントすることができますが、
array_combine(配列, 配列)
以下のように少数があるとWarningとなり結果は空になってしまいます。
<?php
$arr = [1.11, 1.11, 2.222, 2.222, 3.3];
$result = array_count_values($arr);
print_r($result);
<出力結果>
PHP Warning: array_count_values(): Can only count string and integer values, entry skipped in
なので、一度文字列に変換するとカウントすることが可能になります。
<?php
$arr = [1.11, 1.11, 2.222, 2.222, 3.3];
$arr = array_map(fn ($x) => (string)$x, $arr);
$result = array_count_values($arr);
print_r($result);
実行結果
Array
(
[1.11] => 2
[2.222] => 2
[3.3] => 1
)
-
前の記事
javascript buttonプロパティでクリックしたマウスのボタンを判定する 2021.01.02
-
次の記事
rails6 envファイルを使用する 2021.01.03
コメントを書く