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

作成日: 更新日:

strspn関数は、ある文字列の先頭部分が、指定した文字リストに含まれる文字だけで構成されている部分の長さを調べるために実行する関数です。第一引数に検査対象の文字列を、第二引数に許可する文字をすべて含んだ文字列(マスク)を指定します。この関数は、対象文字列の先頭から一文字ずつ順に調べ、マスクに含まれていない文字が最初に出現した時点で処理を停止し、そこまでの文字数を整数値で返します。例えば、「abcde123」という文字列に対し、「cba」というマスクを指定した場合、先頭から「a」「b」「c」はマスクに含まれますが、「d」は含まれません。そのため、連続している部分である「abc」の長さ、つまり3が返されます。もし検査開始位置の文字がマスクに含まれていない場合は、0が返されます。オプションで第三引数に検索を開始する位置、第四引数に検索する長さを指定することで、文字列の特定の部分を検査対象にすることも可能です。

基本的な使い方

構文(syntax)

<?php

$length = strspn(
    string: "subject: 12345",
    characters: "0123456789",
    offset: 9,
    length: 5
);

?>

引数(parameters)

string $string, string $characters, int $offset = 0, ?int $length = null

  • string $string: 検索対象の文字列
  • string $characters: $string の先頭から、この文字列に含まれる文字のみで構成されている部分の長さを返します
  • int $offset = 0: 検索を開始する $string の位置
  • ?int $length = null: 検索する $string の最大長

戻り値(return)

int

文字列 subject の先頭から、指定された文字集合 mask に含まれる文字の連続した長さを整数で返します。

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