최신 웹 개발 튜토리얼
 

PHP sscanf() Function

<PHP 문자열 참조

문자열을 구문 분석 :

<?php
$str = "age:30 weight:60kg";
sscanf($str,"age:%d weight:%dkg",$age,$weight);
// show types and values
var_dump($age,$weight);
?>
»실행 예

sscanf() 함수는 지정된 포맷에 따라 문자열의 입력을 파싱한다. sscanf() 함수 형식 문자열에 기초하여 변수로 문자열을 파싱한다.

두 변수가이 함수에 전달되는 경우, 데이터가 어레이로 복귀한다. 선택적 매개 변수가 전달되는 경우 그렇지 않으면, 구문 분석 데이터 그들에 저장됩니다. 을 포함하는 변수보다 더 많은 지정자가있는 경우 오류가 발생합니다. 변수보다 지정자이 존재하는 경우, 별도의 변수는 NULL이 포함되어 있습니다.

관련 기능 :

  • printf() - 포맷 문자열을 출력
  • sprintf() - 변수에 서식 첨부 캐릭터 라인을 기록

통사론

sscanf( string,format,arg1,arg2,arg++ )

매개 변수 기술
string 필요합니다. 읽을 수있는 문자열을 지정합니다
format 필요합니다. 사용하는 형식을 지정합니다.

가능한 형식 값 :

  • %%는 - 퍼센트 기호를 돌려줍니다
  • %의 C - 문자 ASCII 값에 따라
  • %의 D - 서명 진수 (negative, zero or positive)
  • % 전자 - 과학 소문자 표기를 사용하여 (eg 1.2e+2)
  • U %를 - 부호 진수 (equal to or greather than zero)
  • % F - 부동 소수
  • % 오 - 8 진수
  • % S - 문자열
  • % X - 16 진수 (lowercase letters)
  • %의 X - 16 진수 (uppercase letters)

추가 형식 값. 이들은 %와 문자 사이에 위치 (example %.2f) :

  • + (- 숫자 앞의 기본적에만 음수가 표시된 두 부대 +).
  • '(패딩으로 사용할 것을 지정 기본이 공간 너비 지정자와 함께 사용해야합니다 예 :... %'x20s가 (this uses "x" as padding)
  • - (Left-justifies the variable value)
  • [0-9] (Specifies the minimum width held of to the variable value)
  • . [0-9] (십진수 문자열 또는 최대 길이의 수를 지정)

Note: 여러 개의 추가 형식의 값을 사용하는 경우, 그들은 위와 같은 순서로해야합니다.

arg1 선택 과목. 첫 번째 변수는 데이터를 저장하도록
arg2 선택 과목. 두 번째 변수에 데이터를 저장하도록
arg++ 선택 과목. 세 번째, 네번째, 등등에 데이터를 저장하도록

기술적 세부 사항

반환 값 : 두 변수가이 함수에 전달되는 경우, 데이터가 어레이로 복귀한다. 선택적 매개 변수가 전달되는 경우 그렇지 않으면, 구문 분석 데이터 그들에 저장됩니다. 을 포함하는 변수보다 더 많은 지정자가있는 경우 오류가 발생합니다. 변수보다 지정자이 존재하는 경우, 별도의 변수는 NULL이 포함되어 있습니다.
PHP 버전 : 4.0.1+

더 예

예 1

포맷 값 %의 S, D와 % C % 사용 :

<?php
$str = "If you divide 4 by 2 you'll get 2";
$format = sscanf($str,"%s %s %s %d %s %d %s %s %c");
print_r($format);
?>
»실행 예

<PHP 문자열 참조