PHP

strspn

strspn

(PHP 4, PHP 5, PHP 7)

strspn - 查找完全由包含在给定掩码内的字符组成的字符串的初始段的长度。

描述

int strspn ( string $subject , string $mask [, int $start [, int $length ]] )

查找仅包含来自 mask 的字符的主题的初始片段的长度。

如果startlength被省略,那么所有的subject都将被检查。如果包含它们,则效果将与调用strspn(substr($ subject,$ start,$ length),$ mask)相同(有关更多信息,请参见substr)。

代码行:

<?php $var = strspn("42 is the answer to the 128th question.", "1234567890" ?>

将分配2给$ var,因为字符串“42”是仅由“1234567890”中包含的字符组成的subject初始段。

参数

subject

要检查的字符串。

mask

允许的字符列表。

start

subject开始搜索的位置。

如果开始并且是非负数,则strspn()将开始检查在开始位置处的主体。 例如,在字符串'abcdef'中,位置0处的字符是'a',位置2处的字符是'c',等等。

如果开始给出并且是负数,则strspn()将开始检查从主题末尾开始的第一个位置处的主题。

length

subject要检查的段的长度。

如果长度为非负值,则将在开始位置之后检查主题长度字符。

如果长度为负值,则将从开始位置开始检查主题,直到主题末尾的长度字符。

返回值

返回完全由掩码中的字符组成的主体的初始片段的长度。

注意start设置参数时,返回的长度从该位置开始计数,而不是从subject 开始计数。

例子

示例#1 strspn()示例

<?php // subject does not start with any characters from mask var_dump(strspn("foo", "o") // examine two characters from subject starting at offset 1 var_dump(strspn("foo", "o", 1, 2) // examine one character from subject starting at offset 1 var_dump(strspn("foo", "o", 1, 1) ?>

上面的例子将输出:

int(0) int(2) int(1)

注意

注意:此功能是二进制安全的。

扩展内容

  • strcspn() - 查找初始段不匹配掩码的长度

← strrpos

strstr →