fscanf 함수
(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)
fscanf — 형식에 따라 파일에서 입력을 구문 분석
설명
fscanf(resource $stream
, string $format
, mixed &...$vars
): array|int|false|null
fscanf() 함수는 sscanf()와 유사하지만 stream
과 연결된 파일에서 입력을 가져와 지정된 format
에 따라 입력을 해석합니다.
형식 문자열의 모든 공백은 입력 스트림의 모든 공백과 일치합니다. 즉, 형식 문자열의 탭(\t)도 입력 스트림의 단일 공백 문자와 일치할 수 있습니다.
fscanf()에 대한 각 호출은 파일에서 한 줄을 읽습니다.
매개변수
stream
- 일반적으로 fopen()을 사용하여 생성되는 파일 시스템 포인터 리소스입니다.
format
- sprintf()에 대한 문서에 설명된
string
에 대한 해석된 형식은 다음과 같은 차이점이 있습니다.- 기능이 로케일을 인식하지 못합니다.
- F, g, G 및 b는 지원되지 않습니다.
- D는 십진수를 나타냅니다.
- i는 기본 감지가 있는 정수를 나타냅니다.
- n은 지금까지 처리된 문자 수를 나타냅니다.
- s는 공백 문자에서 읽기를 중지합니다.
- * argnum$ 대신 이 변환 사양의 할당을 억제합니다.
vars
- 선택적 할당된 값입니다.
반환 값
이 함수에 두 개의 매개변수만 전달된 경우 구문 분석된 값은 배열로 반환됩니다. 그렇지 않고 선택적 매개변수가 전달되면 함수는 할당된 값의 수를 반환합니다. 선택적 매개변수는 참조로 전달되어야 합니다.
format
에 예상되는 하위 문자열이 string
내에서 사용 가능한 것보다 많으면 null
이 반환됩니다. 다른 오류에서는 false
가 반환됩니다.
Examples
예제 #1 fscanf() 예제
<?php
$handle = fopen("users.txt", "r");
while ($userinfo = fscanf($handle, "%s\t%s\t%s\n")) {
list ($name, $profession, $countrycode) = $userinfo;
//... do something with the values
}
fclose($handle);
?>
예제 #2 users.txt의 내용
javier argonaut pe hiroshi sculptor jp robert slacker us luigi florist it