Strings strspn

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

strspn — 주어진 마스크에 포함된 전체 문자로 구성된 문자열의 초기 세그먼트 길이를 찾습니다.


설명

strspn(
    string $string,
    string $characters,
    int $offset = 0,
    ?int $length = null
): int
                

characters의 문자만 포함하는 string의 초기 세그먼트 길이를 찾습니다.

offsetlength가 생략되면 모든 string이 검사됩니다. 포함된 경우 효과는 strspn(substr($string, $offset, $length), $characters) 호출과 동일합니다(자세한 내용은 substr 참조).

코드 줄:

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

문자열 "42"가 "1234567890" 내에 포함된 문자로만 구성된 string의 초기 세그먼트이기 때문에 $var2를 할당합니다.


매개변수

string
검사할 문자열입니다.
characters
허용되는 문자 목록입니다.
offset
string에서 검색을 시작할 위치입니다.

offset이 지정되고 음수가 아닌 경우 strspn()offset 위치에서 string 검사를 시작합니다. 예를 들어, 문자열 'abcdef'에서 위치 0의 문자는 'a'이고 위치 2의 문자는 'c'입니다.

offset이 지정되고 음수이면 strspn()string 끝에서 offset' 위치에서 string 검사를 시작합니다.

length
검사할 string의 세그먼트 길이입니다.

length가 지정되고 음수가 아닌 경우 string은 시작 위치 이후의 length 문자를 검사합니다.

length가 지정되고 음수이면 string은 시작 위치부터 string 끝의 문자 length까지 검사됩니다.


반환 값

characters의 전체 문자로 구성된 string의 초기 세그먼트 길이를 반환합니다.

메모: offset 매개변수가 설정되면 반환된 길이는 string의 시작 부분이 아니라 이 위치부터 계산됩니다.


변경 로그

버전 설명
8.0.0 length는 이제 nullable입니다.

Examples

예제 #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)
                

메모

참고: 이 함수는 binary-safe입니다.


기타

  • strcspn() - 마스크와 일치하지 않는 초기 세그먼트의 길이 찾기