strcspn
マスクにマッチしない最初のセグメントの長さを返す
説明
int strcspn(
string $string
,
string $characters
,
int $offset
= 0,
intnull $length
= null
)
offset
と length
を省略した場合は、string
の全体を調べます。
これらのパラメータを指定した場合は、
strcspn(substr($string, $offset, $length),
$characters)
をコールするのと同じ動きになります。
(詳細は substr を参照ください)。
パラメータ
-
string
-
調べたい文字列。
-
characters
-
許可しない文字をすべて含む文字列。
-
offset
-
string
の中で調べ始める位置。
offset
に非負の値を指定した場合は、
strcspn は、
string
の
offset
番目の文字から調べ始めます。
たとえば 'abcdef
' という文字列があったとすると、
0
番目の文字が 'a
' で
2
番目の文字は 'c
' のようになります。
offset
に負の値を指定した場合は、
strcspn は、
string
の後ろから
offset
番目の文字から調べ始めます。
-
length
-
string
の中での調べるセグメントの長さ。
length
に非負の値を指定した場合は、
string
の開始位置から
length
文字ぶんだけ調べます。
length
に負の値を指定した場合は、
string
の開始位置から調べ始めて、
string
の末尾から
length
文字目のところまで調べます。
戻り値
string
の中で、
characters
の文字をまったく含まない
最初のセグメントの長さを返します。
注意:
offset
を指定した場合は、その位置から長さを数え始めます。
string
の先頭から数えるわけではありません。
例
例1 strcspn の例
<?php
$a = strcspn('banana', 'a');
$b = strcspn('banana', 'abcd');
$c = strcspn('banana', 'z');
$d = strcspn('abcdhelloabcd', 'a', -9);
$e = strcspn('abcdhelloabcd', 'a', -9, -5);
var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
?>
int(1)
int(0)
int(6)
int(5)
int(4)
注意
注意: この関数はバイナリデータに対応しています。