strspn

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

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

說明

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

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

如果省略了 startlength 參數(shù),則檢查整個 subject 字符串;如果指定了這兩個參數(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 個位置開始檢查。例如,在字符串 'abcdef' 中,第 0 個位置的字符是 'a',第二個位置的字符是 'c',等等。

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

length

subject 中檢查的長度。

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

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

返回值

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

更新日志

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

范例

示例 #1 strspn() 范例

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

以上例程會輸出:

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

注釋

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

參見

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