php 配列内の同じ値を数をカウントする

  • 作成日 2021.01.09
  • php
php 配列内の同じ値を数をカウントする

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(配列, 配列)

以下は、配列内の同じ値を数をカウントするサンプルコードとなります。

<?php

$arr = ["aaa", "a", "a", "aaa", "b", "c", "a"];

$result = array_count_values($arr);

print_r($result);

実行結果

Array
(
    [aaa] => 2
    [a] => 3
    [b] => 1
    [c] => 1
)

数値の「1」と文字列の「1」は同じ扱いになります。

<?php

$arr = ["1.0", 1, "1"];

$result = array_count_values($arr);

print_r($result);

実行結果

Array
(
    [1.0] => 1
    [1] => 2
)

また、少数を使用するとWarningとなり、結果は空となります。

<?php

$arr = [1.1, 1.1, 2.2, 2.2];

$result = array_count_values($arr);

print_r($arr);

実行結果

PHP Warning:  array_count_values(): Can only count string and integer values, entry skipped in

Array
(
)