매일 PHP 프로그래밍에서는 종종 특정 형식의 문자열 또는 숫자를 출력해야합니다. 현재 Sprintf () 함수는 좋은 도우미입니다. 그것은 출력을 더욱 제어 할 수있게 할뿐만 아니라 코드를 더 깔끔하고 읽을 수있게합니다. 이 기사를 사용하면 Sprintf () 의 사용 방법과 기술을 체계적으로 마스터하게됩니다.
Sprintf () 는 PHP의 내장 함수로서 형식의 문자열을 결과로 반환합니다 ( 직접 출력 없음 ). 이것은 printf () 와 유사하지만 printf ()는 직접 출력이며 Sprintf ()는 반환 후 자유롭게 처리 할 수있는 결과입니다.
기능 프로토 타입은 다음과 같습니다.
string sprintf(string $format, mixed ...$values)
$ 형식 : 형식 템플릿 문자열.
$ 값 : 형식 템플릿에 하나 이상의 값을 삽입해야합니다.
$name = 'Xiao Ming';
$city = '베이징';
$message = sprintf("안녕하세요,그래요%s,나는왔다%s。", $name, $city);
echo $message;
출력 결과 :
안녕하세요,그래요Xiao Ming,나는왔다베이징。
$price = 49.5;
$message = sprintf("제품의 가격은입니다 %.2f 원", $price);
echo $message;
출력 결과 :
제품의 가격은입니다 49.50 원
설명 :
%.2f는 소수점 이하 두 자리를 유지하는 부동 소수점 번호를 의미합니다.
형식 문자 | 의미 | 예 |
---|---|---|
%에스 | 끈 | sprintf ( "hello %s", "tom") |
%디 | 정수 (소수) | Sprintf ( "나이 IS %D", 25) |
%에프 | 부동 소수점 번호 | Sprintf ( "점수는 %.1f", 98.6) |
%엑스 | 16 진 | sprintf ( "숫자는 %x", 255) |
%02d | 2 자리 미만의 0 인 정수 | sprintf ( "숫자는 %02d", 5) => 숫자는 05입니다 |
제품 ID 및 이름을 포함한 매개 변수와 함께 제품 세부 사항 페이지에 대한 링크를 생성해야한다고 가정합니다.
$productId = 123;
$productName = '블루투스 헤드폰';
$url = sprintf("https://gitbox.net/product/view.php?id=%d&name=%s", $productId, urlencode($productName));
echo $url;
출력 결과 :
https://gitbox.net/product/view.php?id=123&name=%E8%93%9D%E7%89%99%E8%80%B3%E6%9C%BA
번호 매기기를 사용하여 형식 문자열의 매개 변수를 반복 할 수 있습니다.
$name = '장 산';
$message = sprintf("%1\$s,안녕하세요!%1\$s,이메일을 확인하십시오。", $name);
echo $message;
출력 결과 :
장 산,안녕하세요!장 산,이메일을 확인하십시오。
설명 : %1 \ $ s는 첫 번째 매개 변수가 사용되었음을 의미합니다.
$line = sprintf("| %-10s | %10s |", "상품", "가격");
echo $line;
출력 결과 :
| 상품 | 가격 |
설명 :
%-10s : 왼쪽 정렬, 10 자 폭을 차지합니다.
%10s : 오른쪽 정렬, 10자를 설명합니다.
Sprintf ()를 사용하는 것은 형식이 유연하지만 웹 페이지, 데이터베이스 및 파일에 출력 할 때 안전에주의를 기울여야합니다.
웹 페이지에 출력 할 때 htmlspecialchars ()를 사용해야합니다.
SQL을 구축 할 때 Sprintf ()를 직접 사용하지 마십시오. 파라미터 바인딩 (예 : PDO 또는 MySQLI에 대한 전처리 문)을 사용하는 것이 좋습니다.
URL의 매개 변수는 urlencode () 로 인코딩하는 것이 좋습니다.
Sprintf () 는 강력하고 우아한 서식 도구입니다. 기본 구문 및 형식 제어 문자를 마스터하는 한 문자열 처리에 날개를 추가 할 수 있습니다. 페이지 디스플레이, 로깅 또는 구조화 된 데이터 생성에 관계없이 더 명확하고 관리 가능한 코드를 작성하는 데 도움이 될 수 있습니다.
프로젝트에 적용하십시오!