선택적인 패딩 지정어는 적합한 문자열의 크기를
얻기 위한 패딩에 사용하는 문자를 지정합니다. 이는 스페이스 문자나
0 (제로 문자)일 수 있습니다. 기본값은 스페이스로
채웁니다. 다른 패딩 문자는 작은 따옴표(')를 앞에
붙여서 지정할 수 있습니다. 아래의 예제를 참고하십시오.
선택적인 정렬 지정어는 결과를 왼쪽 정렬할지,
오른쪽 정렬할 지를 결정합니다. 기본값은 오른쪽 정렬입니다; 여기에
- 문자를 사용하면 왼쪽 정렬이 됩니다.
선택적인 수, 너비 지정어는 얼마나 많은
문자(최소한)가 결과에 들어갈지를 결정합니다.
선택적인 정밀도 지정어는 부동소수점 수에서
얼마나 많은 소수점 아래의 수를 표시할지를 결정합니다. 이 지정어를
문자열에 사용하면, 잘라내는 점으로 작동하여 문자열의 최대 문자수를
제한합니다.
형 지정어는 인수 데이터를 어떤 형으로 취급할지
결정합니다. 가능한 형은:
% - 퍼센트 문자. 인수는 필요하지 않습니다.
b - 인수를 정수로 취급하고, 2진수로 표현합니다.
c - 인수를 정수로 취급하고, 아스키 값에 해당하는
문자로 표현합니다.
d - 인수를 정수로 취급하고, (부호 있는) 10진수로
표현합니다.
e - 인수를 과학 형식으로 취급합니다. (예.
1.2e+2) 정밀도 지정어는 PHP 5.2.1부터 소수점 아래 자리수를
정합니다. 이전 버전에서는 유효숫자의 갯수(하나 적음)로
취급했었습니다.
u - 인수를 정수로 취급하고, 부호 없는 10진수로
표현합니다.
f - 인수를 소수로 취급하고, 부동소수점 수로
표현합니다. (로케일 관련)
F - 인수를 소수로 취급하고, 부동소수점 수로
표현합니다. (로케일 무관) PHP 4.3.10과 PHP 5.0.3부터 사용할 수
있습니다.
o - 인수를 정수로 취급하고, 8진수로 표현합니다.
s - 인수를 문자열로 취급하고 표현합니다.
x - 인수를 정수로 취급하고 16진수(소문자 표시)로
표현합니다.
X - 인수를 정수로 취급하고, 16진수(대문자 표시)로
표현합니다.
포맷 문자열은 인수 넘버링/교환을 지원합니다. 다음은 예제입니다:
Example #1 인수 교환
<?php $format = ;There are %d monkeys in the %s'; printf($format, $num, $location); ?>
이는 "There are 5 monkeys in the tree"를 출력할 것입니다. 그러나,
국제화를 위해서 포맷 문자열을 별도의 파일로 작성하고, 이것을 다음처럼
재작성했다고 생각해봅시다:
// 이중 %%에 주목, '%' 문자를 출력합니다. printf("%%b = '%b'\n", $n); // 2진 표현 printf("%%c = '%c'\n", $c); // 아스키 문자 출력, chr() 함수와 동일 printf("%%d = '%d'\n", $n); // 표준 정수 printf("%%e = '%e'\n", $n); // 과학 표현 printf("%%u = '%u'\n", $n); // 양의 정수에 대한 부호 없는 정수 표현 printf("%%u = '%u'\n", $u); // 음의 정수에 대한 부호 없는 정수 표현 printf("%%f = '%f'\n", $n); // 부동소수점 표현 printf("%%o = '%o'\n", $n); // 8진 표현 printf("%%s = '%s'\n", $n); // 문자열 표현 printf("%%x = '%x'\n", $n); // 16진 표현 (소문자) printf("%%X = '%X'\n", $n); // 16진 표현 (대문자)
printf("%%+d = '%+d'\n", $n); // 양의 정수에 대한 부호지정어 printf("%%+d = '%+d'\n", $u); // 음의 정수에 대한 부호지정어 ?>