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
의 초기 세그먼트 길이를 찾습니다.
offset
과 length
가 생략되면 모든 string
이 검사됩니다. 포함된 경우 효과는 strspn(substr($string, $offset, $length),
$characters)
호출과 동일합니다(자세한 내용은 substr 참조).
코드 줄:
<?php
$var = strspn("42 is the answer to the 128th question.", "1234567890");
?>
문자열 "42"가 "1234567890" 내에 포함된 문자로만 구성된 string
의 초기 세그먼트이기 때문에 $var에 2
를 할당합니다.
매개변수
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() - 마스크와 일치하지 않는 초기 세그먼트의 길이 찾기