웹마짱구의 블로그

728x90

원문 : https://crivius.tistory.com/12

 

[PHP] sprintf(), printf() 사용법 - 형식화 문자열 반환

sprintf(format,arg1,arg2,arg++) sprintf () 함수는 변수에 서식 첨부 캐릭터 라인을 기록합니다. ARG1, ARG2, arg++는 "단계별"작동한다. 첫 번째 % 기호는 ARG1로 두 번째 % 기호는 ARG2로 format, arg1은 필..

crivius.tistory.com

 

 

sprintf(format,arg1,arg2,arg++)

 

sprintf () 함수는 변수에 서식 첨부 캐릭터 라인을 기록합니다.

ARG1, ARG2, arg++는  "단계별"작동한다. 첫 번째 % 기호는 ARG1로 두 번째 % 기호는 ARG2로

 

format, arg1은 필수인자이고 arg2,arg++ 선택적인자이다.

 

 

%% - 백분율 기호를 반환합니다.
% b - 이진수
% c - ASCII 값에 따른 문자
% d - 부호있는 10 진수 (음수, 0 또는 양수)
% e - 소문자 (예 : 1.2e + 2)를 사용하는 과학 표기법
% E - 대문자 (예 : 1.2E + 2)를 사용하는 과학 표기법
% u - 부호없는 10 진수 (0보다 크거나 같음)
% f - 부동 소수점 수 (로컬 설정 인식)
% F - 부동 소수점 수 (로컬 설정 인식 없음)
% g - % e와 % f 중 짧은 것
% G - % E 및 % f 중 더 짧음
% o - 8 진수
% s - 문자열
% x - 16 진수 (소문자)
% X - 16 진수 (대문자)

 

추가적인 형식 = %와 문자사이에 추가형식이 배치가능 (예 : %.2f)

 

예1)

1

2

3

4

5

6

$str = "홍길동";

$num1 = 10000;

$num2 = 12;

$txt = sprintf("%s님 %u원 쿠폰 사용기간이 %u일 남았습니다.",$str,$num1,$num2);

echo $txt;   // 결과  홍길동님 10000원 쿠폰 사용기간이 12일 남았습니다.

 

 

 

예2) 소수점 몇째자리까지 표현해줄지 설정

1

2

3

$num = 123.123;

$txt = sprintf("%.2f",$num);

echo $txt; // 결과 123.12

 

 

예3) 달력의 한자리수인 월앞에 0을 붙일 경우

1

2

3

$num = 3;

$txt = sprintf("%02d",$num);

echo $txt;  // 결과 03

 

printf() 함수는 sprintf()와 사용법은 동일하다.

printf()는 결과를 출력하고 sprintf()는 결과를 리턴한다.(echo를 해주고 안 해주고 차이)