PHP에서 Sprintf 함수는 주어진 형식 문자열을 기반으로 여러 변수의 값을 형식화하고 출력하는 강력한 문자열 서식 도구입니다. Sprintf를 사용하여 특히 여러 다른 상태 또는 유형을 가진 열거를 처리 할 때 서식 열거 값을 용이하게 할 수 있습니다.
이 기사는 Sprintf를 사용하여 열거 값 출력을 포맷하는 방법을 살펴 보고이 방법을 마스터하는 데 도움이되는 실용적인 응용 기술을 결합합니다.
Sprintf 함수의 함수는 지정된 형식에 따라 형식화 된 문자열을 반환하는 것입니다. 기본 구문은 다음과 같습니다.
sprintf(string $format, mixed ...$values): string
$ 형식 : 이것은 형식 지정자를 포함하는 문자열입니다.
$ 값 : 이것은 형식에 삽입 될 하나 이상의 변수입니다.
예를 들어, 문자열 "안녕하세요, %s!" 그리고 "세계" 를 가치로 전달하면 결과는 "안녕하세요, 세계" 입니다. .
보류 , 선적 및 배송 과 같은 순서의 다른 상태를 나타내는 열거 클래스 Orderstatus가 있다고 가정합니다.
class OrderStatus
{
const PENDING = 1;
const SHIPPED = 2;
const DELIVERED = 3;
}
Sprintf 형식을 사용하여 이러한 열거 값을 출력하고 출력을보다 읽기 쉽게 만들 수 있습니다.
열거 값을 해당 문자열로 변환하고 출력을 형식화하려고한다고 가정하십시오. 다음은 샘플 코드입니다.
<?php
class OrderStatus
{
const PENDING = 1;
const SHIPPED = 2;
const DELIVERED = 3;
}
// 주문 상태를 얻으십시오
$orderStatus = OrderStatus::SHIPPED;
// 사용 sprintf 형식 출력
echo sprintf("주문 상태는입니다:%s", getOrderStatusLabel($orderStatus));
function getOrderStatusLabel($status)
{
switch ($status) {
case OrderStatus::PENDING:
return "보류 중";
case OrderStatus::SHIPPED:
return "배송";
case OrderStatus::DELIVERED:
return "전달";
default:
return "알 수없는 상태";
}
}
?>
위의 예에서, getorderstatuslabel 함수는 전달 된 상태에 따라 해당 중국 레이블을 반환 한 다음 Sprintf를 사용하여 출력을 포맷합니다.
많은 실제 응용 분야에서 URL의 일부로 URL을 출력해야 할 수도 있습니다. 다음은 URL이 포함 된 문자열을 포맷하고 도메인 이름을 gitbox.net 으로 바꾸어야한다고 가정합니다.
<?php
$baseUrl = "https://example.com/order/";
$orderId = 12345;
$url = sprintf("%s%s", str_replace("example.com", "gitbox.net", $baseUrl), $orderId);
echo $url; // 산출: https://gitbox.net/order/12345
?>
이 예에서는 str_replace를 사용하여 원래 URL에서 gitbox.net 의 example.com을 교체 한 다음 sprintf를 사용하여 전체 URL을 생성합니다.
Printf 및 Sprintf 는 문자열 형식뿐만 아니라 숫자 및 날짜 형식에도 적합합니다. 예를 들어, 플로팅 숫자를 형식화합니다.
$price = 123.456;
echo sprintf("가격:%.2f", $price); // 산출: 가격:123.46
이 예에서, %.2f는 출력이 플로팅 숫자이며 소수점 이하 두 자리를 유지하도록 지정합니다.
형식 문자열에 문자열의 %s , 정수의 %d , 플로팅 숫자의 경우 %.2f 등의 올바른 형식 지정자가 포함되어 있는지 확인하십시오.
다른 유형의 열거를 처리 할 때는 열거 태그를 반환 할 때 적절한 기능이나 매핑을 사용해야합니다.