Strings sscanf
(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)
sscanf — 형식에 따라 문자열의 입력을 구문 분석합니다.
설명
sscanf(string $string
, string $format
, mixed &...$vars
): array|int|null
sscanf() 함수는 printf()의 입력 아날로그입니다. sscanf()는 문자열 string
을 읽고 지정된 format
에 따라 해석합니다.
형식 문자열의 모든 공백은 입력 문자열의 모든 공백과 일치합니다. 즉, 형식 문자열의 탭(\t
)도 입력 문자열의 단일 공백 문자와 일치할 수 있습니다.
매개변수
string
- 구문 분석 중인 입력 문자열입니다.
format
- sprintf() 문서에 설명되어 있는
string
에 대한 해석된 형식은 다음과 같은 차이점이 있습니다.- 함수는 locale-aware가 아닙니다.
-
F
,g
,G
및b
는 지원되지 않습니다. -
D
는 십진수를 나타냅니다. -
i
는 기본 감지가 있는 정수를 나타냅니다. -
n
은 지금까지 처리된 문자 수를 나타냅니다. -
s
는 공백 문자에서 읽기를 중지합니다. -
argnum$
대신*
은 이 변환 사양의 할당을 억제합니다.
vars
- 선택적으로 구문 분석된 값을 포함할 참조로 변수를 전달합니다.
반환 값
이 함수에 두 개의 매개변수만 전달된 경우 구문 분석된 값은 배열로 반환됩니다. 그렇지 않고 선택적 매개변수가 전달되면 함수는 할당된 값의 수를 반환합니다. 선택적 매개변수는 참조로 전달되어야 합니다.
format
에 예상되는 하위 문자열이 string
내에서 사용할 수 있는 것보다 많으면 null
이 반환됩니다.
Examples
예제 #1 sscanf() 예제
<?php
// getting the serial number
list($serial) = sscanf("SN/2350001", "SN/%d");
// and the date of manufacturing
$mandate = "January 01 2000";
list($month, $day, $year) = sscanf($mandate, "%s %d %d");
echo "Item $serial was manufactured on: $year-" . substr($month, 0, 3) . "-$day\n";
?>
선택적 매개변수가 전달되면 함수는 할당된 값의 수를 반환합니다.
예제 #2 sscanf() - 선택적 매개변수 사용
<?php
// get author info and generate DocBook entry
$auth = "24\tLewis Carroll";
$n = sscanf($auth, "%d\t%s %s", $id, $first, $last);
echo "<author id='$id'>
<firstname>$first</firstname>
<surname>$last</surname>
</author>\n";
?>
기타
- printf() - 형식이 지정된 문자열 출력
- sprintf() - 형식이 지정된 문자열 반환
- fprintf() - 스트림에 형식이 지정된 문자열 쓰기
- vprintf() - 형식이 지정된 문자열 출력
- vsprintf() - 형식이 지정된 문자열 반환
- vfprintf() - 스트림에 형식이 지정된 문자열 쓰기
- fscanf() - 형식에 따라 파일에서 입력을 구문 분석
- number_format() - 그룹화된 천 단위로 숫자 서식 지정
- date() - Unix 타임스탬프 형식 지정