count_chars

関数の概要

PHPの count_chars 関数は、文字列内の各文字の出現回数や文字の種類を調べるために使われます。特定の文字が何回現れるかを簡単に把握できるので、文字列解析やデバッグに便利な関数です。

パラメータの説明

  • string $string – 出現状況を調べたい対象の文字列を指定します。
  • int $mode – 文字のカウント方法を指定するオプションの整数値です。省略した場合は 0 が使われます。

$mode の主な値:

  • 0(デフォルト): 文字ごとの出現回数を連想配列で返す。キーは文字のASCIIコード。
  • 1: 文字のうち1回以上現れるもののASCIIコードを含む配列を返す。
  • 2: 出現しない文字のASCIIコードを含む配列を返す。
  • 3: 文字列内のすべての文字をASCIIコード順に連結した文字列を返す。
  • 4: 出現しなかった文字をASCIIコード順に連結した文字列を返す。

戻り値

count_chars は指定した $mode によって、配列または文字列を返します。
$mode が 0, 1, 2 の場合は配列が返され、それ以外は文字列が返されます。

使用例

基本的な使い方(mode=0)

$text = "hello world";
$result = count_chars($text, 0);
print_r($result);

この例では、文字列 “hello world” に含まれるすべての文字の出現回数が、文字のASCIIコードをキーとした連想配列で返されます。

出現した文字一覧(mode=1)

$text = "hello world";
$chars = count_chars($text, 1);
print_r($chars);

文字列内に1回以上現れた文字のASCIIコードのみを含む配列が返ります。重複はありません。

出現しなかった文字一覧(mode=2)

$text = "abc";
$missing = count_chars($text, 2);
print_r($missing);

この場合、文字列に含まれていないASCIIコードの文字が配列で返されます。全てのASCII範囲をみるため、多くのコードが含まれます。

出現した文字を連結した文字列(mode=3)

$text = "hello";
$charsString = count_chars($text, 3);
echo $charsString;

文字列中に現れたすべての文字をASCIIコード順に並べた文字列が返されます。重複はありません。

関連する関数

  • substr_count – 特定の部分文字列の出現回数を数える
  • strlen – 文字列の長さを返す
  • str_split – 文字列を配列に分割する

まとめ

PHPの count_chars 関数は、文字列中の文字の出現状況を幅広く調べられる便利な関数です。文字数のカウントだけでなく、どの文字が使われているかや使われていない文字の把握にも役立ちます。文字列解析やデバッグ、データの前処理などにぜひ活用してください。