티스토리 뷰

PHP

PHP print와 printf()의 차이

블로그 강승 2021. 3. 30. 10:57

PHP print와 printf()의 차이

printf() 함수는 print보다 더 큰 통제력을 제공한다.
C언어에서 printf()함수와 똑같은 역할을 PHP에서도 하고있는데,
숫자, 변수, 틀까지 통제력을 갖고있다.
반면에, print는 그냥 문자열 그대로를 출력한다.

$price = 5; $tax = 0.075; $total=$price*(1+$tax);
printf('요리 가격은 $%.2f', $price * (1 + $tax));
print "요리 가격은 $total";

//출력결과는 요리 가격은 $5.38 로 같다.

printf() 함수의 형식 문자열 규칙은 %로 시작하는데, 해당 규칙이 해야 할 일을 지정하는 선택적인 몇몇 수정자(modifier)는 다음과 같다.

패딩 문자

형식 규칙을 교체할 문자열이 너무 짧다면 패딩 문자를 이용해 늘린다. 빈 공간을 공백 문자로 채우거나 0으로 채울 수 있다.

기호

숫자일 경우, 더하기 기호(+)가 있으면 printf()가 (보통은 기호 없이 출력되는) 양수 앞에 +를 붙여준다. 문자일 경우, 빼기 기호(-)가 있으면 printf()가 (보통은 왼쪽으로 정렬되는) 문자열을 오른쪽으로 정렬한다.

최소너비

이 수정자는 형식 규칙을 통해 교체된 최소 너비를 지정한다. 만약 교체된 값이 이 너비보다 더 좁으면 나머지 공간을 패딩 문자가 채운다.

마침표와 정밀도

이 수정자는 부동소수점 수에 사용되며 소수점 이하 몇자리까지 표시할지를 제어한다.

 

수정자 뒤에는 반드시 문자가 나오는데, 이 문자는 어떤 종류의 값이 출력되어야 하는지를 지정한다.
10진수는 d, 문자열은 s, 부동소수점 수는 f다.

$zip = '6520';
$month = 2;
$day = 6;
$year = 2007;

printf("우편번호는 %05d이고 날짜는 %02d/%02d/$d", $zip, $month, $day, $year);

// 출력화면 우편번호는 06520이고 날짜는 02/06/2007
$min=-40;
$max=40;
printf("컴퓨터는 섭씨 %+d도와 %+d도 사이에서 작동할 수 있습니다.",$min,$max);

//출력화면 컴퓨터는 섭씨 -40도와 +40도 사이에서 작동할 수 있습니다.

 

댓글