strspn

(PHP 4, PHP 5, PHP 7, PHP 8)

strspn 計(jì)算字符串中全部字符都存在于指定字符集合中的第一段子串的長(zhǎng)度。

說(shuō)明

strspn(
    string $subject,
    string $mask,
    int $start = ?,
    int $length = ?
): int

返回 subject 中全部字符存在于 mask 中的第一組連續(xù)字符(子字符串)的長(zhǎng)度。

如果省略了 startlength 參數(shù),則檢查整個(gè) subject 字符串;如果指定了這兩個(gè)參數(shù),則效果等同于調(diào)用 strspn(substr($subject, $start, $length), $mask)(更多信息,參見 substr )。

代碼行:

<?php
$var 
strspn("42 is the answer to the 128th question.""1234567890");
?>
$var 將被指派為 2,因?yàn)?'42' 是 subject 中第一段全部字符都存在于 '1234567890' 的連續(xù)字符。

參數(shù)

subject

待檢查的字符串。

mask

檢查字符列表。

start

subject 的開始檢查位置。

如果 start 被設(shè)置并且是非負(fù)的,strspn() 將從 subject 的第 start 個(gè)位置開始檢查。例如,在字符串 'abcdef' 中,第 0 個(gè)位置的字符是 'a',第二個(gè)位置的字符是 'c',等等。

如果 start 被設(shè)置并且為負(fù)數(shù),strspn() 將從 subject 的尾部倒數(shù)第 start 個(gè)位置開始檢查 subject。

length

subject 中檢查的長(zhǎng)度。

如果 length 被設(shè)置并且為非負(fù)數(shù),那么將從起始位置開始,檢查 subjectlength 個(gè)長(zhǎng)度的字符。

如果 length 被設(shè)置并且為負(fù)數(shù),那么將從起始位置開始,直到從 subject 尾部開始第 length 個(gè)位置,對(duì) subject 進(jìn)行檢查。

返回值

返回 str1 中第一段全部字符都存在于 str2 范圍的字符串的長(zhǎng)度。

更新日志

版本 說(shuō)明
4.3.0 新增 startlength 參數(shù)。

范例

示例 #1 strspn() 范例

<?php
echo strspn("foo""o"12); // 打印: 2
?>

以上例程會(huì)輸出:

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

注釋

注意: 此函數(shù)可安全用于二進(jìn)制對(duì)象。

參見

  • strcspn() - 獲取不匹配遮罩的起始子字符串的長(zhǎng)度