● 형식화해서 문자열을 표시하는 printf()
: 변수 값은 echo(), print(), print_r()을 사용해서 문자열을 포함시켜서 표시할수 있지만, 이 세가지 명령은 값을 있는 그대로만 출력합니다.
반면에, printf()는 값을 형식을 갖춘 문자열로 지정하여 출력할 수 있습니다.
printf()의 f가 format이므로 형식 문자열을 포맷 문자열이라고도 합니다.
사용 형식)
printf('형식 문자열', 값 1, 값 2, ~~~ , 값 3)
위 예제에서는 echo 와 printf를 비교해보았습니다.
echo는 있는 그대로 상수값 M_PI값을 그대로 출력하는 반면에 printf는 '%3f'로 지정하므로 3.142처럼 소수점 아래 세쨰자리까지 출력합니다.
즉, 반올림해서 값을 포맷하여 출력합니다.
▶ 치환하는 값이 한 개 일때
원주율 출력에서는 값만 출력했지만, 안에 값을 지환해서 넣어주었습니다.
( %위치에 값이 치환됩니다.)
▶ 치환하는 값이 여러 개 일때
위처럼 치환하는 값이 여러개 일때는 값1,값2로 차례로 치환되어 출력됩니다.
( %위치에 값이 치환됩니다.)
● 형식지정자
: 지환할 값의 형에 따라 표시 형식이 다르므로 형식 지정자의 마지막에 타입 지정자를 붙입니다.
▶ 부호 지정자
값이 수치일 때 초깃값에는 -5나 8처럼 음수 일때만 -부호가 붙습니다.
하지만, 부호 지정자로 +를 지정하면 -5나 +8처럼 양수에도 +가 붙습니다.
▶ 채움(패딩) 지정자
위 예제는 $a에 7을 넣어주고, $b에 2380을 넣어줍니다.
%03d 지정자는 수치가 세자릿수가 되도록 앞을 0으로 채웁니다.
두번째는 %'*6d 지정자는 수치가 여섯 자릿수가 되도록 앞을 *로채웁니다.
연월일이 0000-00-00형식으로 되도록 포맷해주고 값을 넣어줍니다.
▶ 정렬 지정자
위 예제에서 +는 오른쪽으로 정렬이고, -는 왼쪽으로 정렬이 됩니다.
s는 값이 문자열임을 나타내는 형식 지정자입니다. 23ab문구에서 -8이기에 8자리 왼쪽정렬이 되고 나머지 값은 #으로 나타냅니다.
*도 위와 동일하지만 +이기에 오른쪽 정렬이 됩니다.
▶ 너비 지정자
$a 값은 너비 4문자에서 두자리만 사용하기에 앞에 00으로 두개가 채워집니다.
$b 값은 5문자이므로 그대로 표시됩니다.
$c 값은 5문자이므로 그대로 표시됩니다.
▶ 정밀도 지정자
$a 는 값을 소수점 이하 둘째 자리까지 반올림합니다.
$b 는 값의 자릿수가 부족하므로 0을 채워 둘째 자리 정밀도로 표시합니다.
$c 는 문자열이므로 앞 부분부터 5문자만 잘라냅니다.
※ 타입지정자
'Programming Language > PHP' 카테고리의 다른 글
[PHP] URL인코딩 & 디코딩 (0) | 2019.09.13 |
---|---|
[PHP] 배열의 요소 삭제 & 치환 & 연결과 분리, 중복제거 (array_merge, array_combine, array_unique 등) (0) | 2019.09.12 |
[PHP] 배열의 정의 및 explode, implode, define함수 (0) | 2019.09.11 |
[PHP] sprintf(), vprintf(), number_format() (0) | 2019.09.10 |
[PHP] 히어 다큐먼트 구문 및 Nowdoc 구문 (이스케이프 없이 편하게 문장 만들기) (0) | 2019.09.08 |
[PHP] 문자열에 사용할 수 있는 이스케이프 시퀀스 (0) | 2019.09.07 |
[PHP] 클래스 정의 (class concept) (0) | 2019.09.06 |
[PHP] 접근지정자 (public, protected, private) (0) | 2019.09.05 |