>  기사  >  백엔드 개발  >  형식화된 출력을 얻기 위해 PHP의 sprintf() 함수를 사용하는 방법을 배웁니다.

형식화된 출력을 얻기 위해 PHP의 sprintf() 함수를 사용하는 방법을 배웁니다.

王林
王林원래의
2023-06-27 08:12:121982검색

PHP 개발에서는 특히 양, 시간 등과 관련된 데이터 유형을 처리할 때 출력 콘텐츠의 표준화 및 형식 지정이 매우 중요합니다. PHP는 이러한 형식화된 출력을 쉽게 얻을 수 있는 많은 기능을 제공하며 그 중 하나가 sprintf() 기능입니다.

sprintf() 함수는 지정된 형식 문자열에 따라 다음 매개변수의 형식을 지정하고 출력할 수 있는 형식화된 출력 함수입니다. 구문은 다음과 같습니다.

sprintf(format,arg1,arg2,......)

그 중 format은 하나 이상의 형식 지정자를 포함할 수 있는 형식 문자열입니다. arg1, arg2 등은 형식을 지정해야 하는 매개변수입니다.

형식 지정자는 % 문자로 시작하고 그 뒤에 매개변수 유형을 지정하는 문자가 옵니다. 일반적인 형식 지정자는 다음과 같습니다.

  • %s 문자열 유형
  • %d 정수 유형
  • %f 부동 소수점 유형
  • %c 문자 유형
  • %b 이진 유형
  • %o 8진수 유형
  • %x 16진수 type
  • %e 과학 표기법 type

예를 들어 sprintf() 함수를 사용하여 이름과 나이가 포함된 문자열을 출력합니다. 여기서 이름은 문자열 유형이고 나이는 정수 유형입니다. 다음과 같이 코드를 작성할 수 있습니다.

$name = "Tom";
$age = 18;
echo sprintf("我的名字是%s,年龄是%d岁。",$name,$age);

실행 결과는 다음과 같습니다.

我的名字是Tom,年龄是18岁。

sprintf() 함수는 지정된 형식 문자열에 따라 매개 변수의 형식을 지정하여 출력하고, 자동으로 해당 형식의 자리 표시자를 바꾸는 것을 볼 수 있습니다. 형식 지정자.

일반적인 형식 지정자 외에도 sprintf() 함수는 출력 형식을 세밀하게 제어하는 ​​데 사용할 수 있는 몇 가지 특수 태그 및 한정자를 지원합니다. 예를 들어 소수점 뒤에 숫자를 사용하여 부동 소수점 숫자의 소수 자릿수를 지정하고, 더하기 기호(+)를 사용하여 양수 또는 음수의 부호를 지정하고, 0을 사용하여 공백을 메우는 등의 작업을 수행할 수 있습니다. .

다음은 일반적으로 사용되는 특수 표시 및 한정자입니다.

  • 소수점 뒤에는 소수점 두 자리가 유지됨을 나타내는 %.2f와 같은 숫자가 옵니다.
  • %와 같은 더하기 기호(+) +d(양수와 음수가 모두 표시됨을 나타냄) 기호
  • 빼기 기호(-)(예: %-10s)는 왼쪽 정렬 및 자리 표시자 오른쪽 공백 채우기를 의미하며 총 너비는 10자입니다
  • %04d와 같은 0은 자리 표시자의 왼쪽을 의미합니다. 측면이 0으로 채워지고 전체 너비는 4자입니다.
  • 파운드 기호(#)(예: %#o)는 출력 8진수 앞에 0이 붙음을 나타냅니다.
  • 공백( )(예: %d), 양수는 공백을 표시하고 음수는 기호를 표시함을 나타냅니다.

다음은 형식화된 출력에 sprintf() 함수를 사용하는 방법을 보여주는 실제 예입니다. 주문 번호, 주문 날짜, 주문 금액 등과 같은 필드를 포함하는 주문 정보 테이블이 있다고 가정합니다. 주문 정보를 테이블 형식으로 페이지에 출력하려고 합니다.

먼저 2차원 배열 $orders를 정의하여 주문 정보 목록을 시뮬레이션합니다.

$orders = [
    ["order_no" => "20190813001", "order_date" => "2019-08-13", "order_amount" => 289.5],
    ["order_no" => "20190813002", "order_date" => "2019-08-13", "order_amount" => 1032],
    ["order_no" => "20190813003", "order_date" => "2019-08-13", "order_amount" => 760.85],
    ["order_no" => "20190814001", "order_date" => "2019-08-14", "order_amount" => 948.5],
    ["order_no" => "20190814002", "order_date" => "2019-08-14", "order_amount" => 213.75],
    ["order_no" => "20190814003", "order_date" => "2019-08-14", "order_amount" => 657.9],
    ["order_no" => "20190815001", "order_date" => "2019-08-15", "order_amount" => 1368.25],
    ["order_no" => "20190815002", "order_date" => "2019-08-15", "order_amount" => 768.5],
    ["order_no" => "20190815003", "order_date" => "2019-08-15", "order_amount" => 840.8]
];

그런 다음 다음 코드를 작성하고 sprintf() 함수를 사용하여 주문 정보를 출력합니다.

echo "<table border='1'>";
echo "<tr><th>订单号</th><th>订单日期</th><th>订单金额</th></tr>";
foreach($orders as $order){
    echo "<tr>";
    echo sprintf("<td>%s</td><td>%s</td><td>¥%.2f元</td>",$order["order_no"],$order["order_date"],$order["order_amount"]);
    echo "</tr>";
}
echo "</table>";

실행 결과는 다음과 같습니다.

订单号    订单日期    订单金额
20190813001    2019-08-13    ¥289.50元
20190813002    2019-08-13    ¥1032.00元
20190813003    2019-08-13    ¥760.85元
20190814001    2019-08-14    ¥948.50元
20190814002    2019-08-14    ¥213.75元
20190814003    2019-08-14    ¥657.90元
20190815001    2019-08-15    ¥1368.25元
20190815002    2019-08-15    ¥768.50元
20190815003    2019-08-15    ¥840.80元

보시다시피 sprintf() 함수를 사용하여 출력 형식을 지정하면 출력 내용을 더욱 표준화되고 아름답게 만들 수 있으며 출력 내용을 보다 정밀하게 제어할 수 있습니다. 실제 개발에서는 sprintf() 함수를 유연하게 사용하여 다양하고 복잡한 출력 요구 사항을 충족하고 개발 효율성과 프로그램 가독성을 향상시킬 수 있습니다.

위 내용은 형식화된 출력을 얻기 위해 PHP의 sprintf() 함수를 사용하는 방법을 배웁니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.