SYNCER

SYNCER

count_chars() - 文字列に含まれる各文字の情報を取得する

公開日:

count_charsは、ある文字列に含まれる各文字の情報を取得する関数です。

構文

mixed count_chars ( string $string [, int $mode = 0 ] )

パラメータ

$string

対象の文字列。

$mode

初期値: 0

情報の種類を数値で指定する。

0
各バイトの値をキー、出現回数を値とする配列。
1
0と同じだが、出現回数が0回のバイトは含まない。
2
0と同じだが、出現回数が0回のバイトのみを含む。
3
出現回数が1回以上のバイトのみで構成された文字列。
4
出現回数が0回のバイトのみで構成された文字列。

返り値

mixed

文字列で使用されているバイトの情報。第2引数によって返り値の種類が変わる。

サンプルコード

使用されているバイトの情報を取得する

"AAABBC"という文字列で使用されているバイトの情報を取得します。第2引数に1を指定することで、出現回数が1回以上のバイトに限定しています。コード65Aが3回、コード66Bが2回、というように出現回数の情報を含んだ配列を取得できます。

php

<?php
	// 実行
	$result = count_chars( "AAABBC", 1 ) ;

	// 返り値
	var_dump( $result ) ;

結果 (出力内容) - PHP7.0.21

array(3) {
  [65]=>
  int(3)
  [66]=>
  int(2)
  [67]=>
  int(1)
}

文字列で結果を取得する

第2引数で返り値を調整できます。例えば、3を指定した場合、使用されている文字だけで構成された文字列を取得できます。下記の例では使用されているのは"A""B""C"だけなので、"ABC"という返り値になりました。

php

<?php
	// 実行
	$result = count_chars( "AAABBCC", 3 ) ;

	// 返り値
	var_dump( $result ) ;

結果 (出力内容) - PHP7.0.21

string(3) "ABC"

サンドボックス

ソースコードを編集してcount_chars()の挙動を確認して下さい。

array(3) {
  [65]=>
  int(3)
  [66]=>
  int(2)
  [67]=>
  int(1)
}

参考リンク

  • PHP - 公式マニュアル。