【PHP8.x】count_chars関数の使い方

作成日: 更新日:

count_chars関数は、指定された文字列に含まれる各文字(正確にはバイト値)の出現回数を数えたり、その文字に関する情報を取得したりするために実行する関数です。

この関数は、入力された文字列を分析し、具体的にどのような文字が、それぞれ何回含まれているのか、あるいは含まれていないのかといった情報を柔軟に提供します。特に、オプションであるmode引数の値を変更することで、関数の戻り値の形式や内容を細かく制御できます。

例えば、mode0に設定した場合(これがデフォルトの動作です)は、文字列に含まれる各文字のバイト値をキーとし、その文字が文字列中に現れる回数を値とする連想配列を返します。この配列には、出現しなかった文字は含まれません。もしmode1にすると、mode=0と同じ形式ですが、出現回数が1回以上の文字のみが返されます。

また、mode2に設定すると、今度は文字列中に全く出現しない文字だけをキーとして、その出現回数(常に0)を持つ連想配列が返されます。さらに、mode3にすると、文字列に含まれるすべてのユニークな文字が連結された一つの文字列を返します。最後に、mode4にすると、文字列に含まれないすべてのユニークな文字が連結された一つの文字列を返します。

このように、count_chars関数は、文字列の構成を詳細に分析したい場合や、特定の文字の出現頻度、あるいは欠如している文字を効率的に調べたい場合に大変役立つツールです。

基本的な使い方

構文(syntax)

<?php
$input_string = "Hello PHP 8!";
$char_byte_counts = count_chars($input_string, 0);
?>

引数(parameters)

string $string, int $mode = 0

  • string $string: カウント対象の文字列
  • int $mode = 0: 実行するモードを指定する整数。以下のいずれかの値を取ります。
    • 0: 文字列中の各文字が何回出現するかを、ASCII値から見た順番で配列で返します。キーがASCII値、値が出現回数になります。
    • 1: 文字列中の各文字が何回出現するかを、出現頻度の高い順で配列で返します。キーが出現回数、値がその出現回数を持つ文字の配列になります。
    • 2: 文字列中の各文字を、ASCII値の昇順で配列に格納し、その配列を返します。
    • 3: 文字列中の各文字を、出現頻度の降順で配列に格納し、その配列を返します。
    • 4: 文字列中の各文字が何回出現するかを、ASCII値の昇順で連想配列で返します。キーが文字、値が出現回数になります。

戻り値(return)

array|string

指定されたモードによって、文字列中の各文字の出現回数を示す連想配列、または指定されたモードによって特定の文字のリストが配列または文字列として返されます。

【PHP8.x】count_chars関数の使い方 | いっしー@Webエンジニア