Strings strcspn

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

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


설명

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

characters의 문자를 포함하지 않는 string의 초기 세그먼트 길이를 반환합니다.

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


매개변수

string
검사할 문자열입니다.
characters
허용되지 않는 모든 문자를 포함하는 문자열입니다.
offset
string에서 검색을 시작할 위치입니다.

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

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

length

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

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

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


반환 값

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

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


변경 로그

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

Examples

예제 #1 strcspn() 예제

                  
<?php
$a = strcspn('abcd',  'apple');
$b = strcspn('abcd',  'banana');
$c = strcspn('hello', 'l');
$d = strcspn('hello', 'world');
$e = strcspn('abcdhelloabcd', 'abcd', -9);
$f = strcspn('abcdhelloabcd', 'abcd', -9, -5);

var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
var_dump($f);
?>
                  
                

위의 예는 다음을 출력합니다.

int(0)
int(0)
int(2)
int(2)
int(5)
int(4)
                

메모

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


기타

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