[function] sprintf
페이지 정보
작성자 MintState 댓글 0건 조회 12,824회 작성일 08-11-03 11:30본문
[function] sprintf
sprintf -- 형식화한 문자열을 반환합니다.
[COLOR="Navy"]string sprintf ( string format [, mixed args])[/COLOR]
포맷 문자열 format에 따라 생성한 문자열을 반환합니다.
포맷 문자열은 0개 이상의 지시어를 조합합니다: 일반 문자는 (%을 제외하고) 결과에 그대로 복사하고, 변환 특정어는 각각의 인자로 교체한 결과를 가집니다. 이는 sprintf()와 printf()에 모두 적용됩니다.
각각의 변환 특정어는 퍼센트 기호(%)에 다음의 요소들이 붙어서 구성됩니다:
선택적인 패딩 지정어는 적합한 문자열의 크기를 얻기 위한 패딩에 사용하는 문자를 지정합니다. 이는 스페이스 문자나 0 (제로 문자)일 수 있습니다. 기본값은 스페이스로 채웁니다. 다른 패딩 문자는 작은 따옴표(')를 앞에 붙여서 지정할 수 있습니다. 아래의 예제를 참고하십시오.
선택적인 정렬 지정어는 결과를 왼쪽 정렬할지, 오른쪽 정렬할 지를 결정합니다. 기본값은 오른쪽 정렬입니다; 여기에 - 문자를 사용하면 왼쪽 정렬이 됩니다.
선택적인 수, 너비 지정어는 얼마나 많은 문자(최소한)가 결과에 들어갈지를 결정합니다.
선택적인 정밀도 지정어는 부동 소수점 실수에서 얼마나 많은 소수점 아래의 수를 표시할지를 결정합니다. 이 옵션은 float형 이외에는 영향을 주지 않습니다. (수를 포맷하는 다른 유용한 함수에는 number_format()이 존재합니다.)
형 지정어는 인자 데이터를 어떤 형으로 취급할지 결정합니다. 가능한 형은:
% - 퍼센트 문자. 인자는 필요하지 않습니다.
b - 인자를 정수로 취급하고, 2진수로 표현합니다.
c - 인자를 정수로 취급하고, ASCII 값에 해당하는 문자로 표현합니다.
d - 인자를 정수로 취급하고, (부호 있는) 10진수로 표현합니다.
u - 인자를 정수로 취급하고, 부호 없는 10진수로 표현합니다.
f - 인자를 float로 취급하고, 실수로 표현합니다.
o - 인자를 정수로 취급하고, 8진수로 표현합니다.
s - 인자를 문자열로 취급하고 표현합니다.
x - 인자를 정수로 취급하고 16진수(소문자 표시)로 표현합니다.
X - 인자를 정수로 취급하고, 16진수(대문자 표시)로 표현합니다.
ex1)
ex2) 1 -> 01
ex3) Display an binary string like an Hex Editor.
sprintf -- 형식화한 문자열을 반환합니다.
[COLOR="Navy"]string sprintf ( string format [, mixed args])[/COLOR]
포맷 문자열 format에 따라 생성한 문자열을 반환합니다.
포맷 문자열은 0개 이상의 지시어를 조합합니다: 일반 문자는 (%을 제외하고) 결과에 그대로 복사하고, 변환 특정어는 각각의 인자로 교체한 결과를 가집니다. 이는 sprintf()와 printf()에 모두 적용됩니다.
각각의 변환 특정어는 퍼센트 기호(%)에 다음의 요소들이 붙어서 구성됩니다:
선택적인 패딩 지정어는 적합한 문자열의 크기를 얻기 위한 패딩에 사용하는 문자를 지정합니다. 이는 스페이스 문자나 0 (제로 문자)일 수 있습니다. 기본값은 스페이스로 채웁니다. 다른 패딩 문자는 작은 따옴표(')를 앞에 붙여서 지정할 수 있습니다. 아래의 예제를 참고하십시오.
선택적인 정렬 지정어는 결과를 왼쪽 정렬할지, 오른쪽 정렬할 지를 결정합니다. 기본값은 오른쪽 정렬입니다; 여기에 - 문자를 사용하면 왼쪽 정렬이 됩니다.
선택적인 수, 너비 지정어는 얼마나 많은 문자(최소한)가 결과에 들어갈지를 결정합니다.
선택적인 정밀도 지정어는 부동 소수점 실수에서 얼마나 많은 소수점 아래의 수를 표시할지를 결정합니다. 이 옵션은 float형 이외에는 영향을 주지 않습니다. (수를 포맷하는 다른 유용한 함수에는 number_format()이 존재합니다.)
형 지정어는 인자 데이터를 어떤 형으로 취급할지 결정합니다. 가능한 형은:
% - 퍼센트 문자. 인자는 필요하지 않습니다.
b - 인자를 정수로 취급하고, 2진수로 표현합니다.
c - 인자를 정수로 취급하고, ASCII 값에 해당하는 문자로 표현합니다.
d - 인자를 정수로 취급하고, (부호 있는) 10진수로 표현합니다.
u - 인자를 정수로 취급하고, 부호 없는 10진수로 표현합니다.
f - 인자를 float로 취급하고, 실수로 표현합니다.
o - 인자를 정수로 취급하고, 8진수로 표현합니다.
s - 인자를 문자열로 취급하고 표현합니다.
x - 인자를 정수로 취급하고 16진수(소문자 표시)로 표현합니다.
X - 인자를 정수로 취급하고, 16진수(대문자 표시)로 표현합니다.
ex1)
1 | <?php |
2 | $money1 = 68.75; |
3 | $money2 = 54.35; |
4 | $money = $money1 + $money2 ; |
5 | // echo $money 는 "123.1"를 출력합니다; |
6 | $formatted = sprintf( "%01.2f" , $money ); |
7 | // echo $formatted 는 "123.10"를 출력합니다. |
8 | ?> |
ex2) 1 -> 01
1 | <?php |
2 | $data = 1; |
3 | $format_string = sprintf( "%02d" , $data ); |
4 | ?> |
ex3) Display an binary string like an Hex Editor.
01 | <?php |
02 | function BinToHexView( $binstr ) { |
03 | $HexView = "" ; |
04 |
05 | $binpos = 0; |
06 | $binsize = strlen ( $binstr ); |
07 | $binr = ( ( $binsize - $binpos -16) > 16 ? 16 : $binsize - $binpos -16 ); |
08 |
09 | while ( $binr > 0) { |
10 | $hline = "" ; |
11 | $dline = "" ; |
12 | $HexView .= sprintf( "%04x" , $binpos ); |
13 | for ( $c =0; $c < $binr ; $c ++) { |
14 | $hline .= sprintf( "%02x" ,ord( $binstr [ $binpos + $c ])). " " ; |
15 | } |
16 | for ( $c =0; $c < $binr ; $c ++) { |
17 | $ord = ord( $binstr [ $binpos + $c ]); |
18 | $dline .= ( $ord <32 || $ord >126 ? "." : $binstr [ $binpos + $c ] ); |
19 | } |
20 | $HexView .= sprintf( " %-48s %-16s\n" , $hline , $dline ); |
21 | $binpos += $binr ; |
22 | $binr = ( ( $binsize - $binpos -16) > 16 ? 16 : $binsize - $binpos -16 ); |
23 | } |
24 |
25 | return $HexView ; |
26 | } |
27 | ?> |
|
댓글목록
등록된 댓글이 없습니다.