strspn
指定したマスク内に含まれる文字からなる文字列の最初のセグメントの長さを探す
説明
int strspn(
string $string
,
string $characters
,
int $offset
= 0,
intnull $length
= null
)
offset
と length
を省略した場合は、string
全体を調べます。
指定した場合は、strspn(substr($string, $offset, $length),
$characters)
をコールするのと同じ動きになります。
(詳細は substr を参照ください)
たとえば、
このコードは、
$var に
2
を代入します。これは、
string
の中で "1234567890" 内の文字だけで構成される
最初の部分が "42" であるためです。
パラメータ
-
string
-
調べたい文字列。
-
characters
-
許可する文字の一覧。
-
offset
-
string
の中で調べ始める位置。
offset
に非負の値を指定すると、
strspn は
string
の
offset
番目の位置から調査を始めます。
たとえば、文字列 'abcdef
' において
0
番目の位置にある文字は 'a
'
で 2
番目の位置にある文字は
'c
' のようになります。
offset
に負の値を指定すると、
strspn は
string
の最後から
offset
番目の位置から調査を始めます。
-
length
-
string
内で調べる部分の長さ。
length
に非負の値を指定すると、
string
の開始位置から
length
文字分の範囲を調査します。
length
に負の値を指定すると、
string
の調査範囲は
開始位置から始まって string
の最後から length
だけさかのぼったところまでとなります。
戻り値
string
の中で、全て
characters
の中の文字からなる最初のセグメントの長さを返します。
注意:
offset
パラメータを設定した場合は、返される長さはその位置からのものとなります。
string
の先頭からの長さではありません。
例
例1 strspn の例
<?php
// subjectの最初の文字がmaskのどの文字とも一致しません
var_dump(strspn("foo", "o"));
// subject のオフセット 1 から 2 文字を調べます
var_dump(strspn("foo", "o", 1, 2));
// subject のオフセット 1 から 1 文字を調べます
var_dump(strspn("foo", "o", 1, 1));
?>
注意
注意: この関数はバイナリデータに対応しています。