PHP 프로그래밍에서 Sprintf 함수는 문자열을 형식화하고 동적 값을 사전 정의 된 문자열 템플릿에 삽입하는 매우 유용한 도구입니다. Sprintf 함수를 사용하면 코드를보다 간결하고 유지 관리하기 쉽습니다. 이 기사는 Sprintf 함수를 사용하여 HTML 테이블을 생성하고 실용적인 기술과 방법을 보여주는 방법을 살펴 봅니다.
Sprintf 함수는 형식을 직접 출력하는 대신 형식으로 변수로 출력하는 데 사용됩니다. 기본 구문은 다음과 같습니다.
sprintf(string $format, mixed ...$values): string
$ 형식 : 자리 표시자를 포함하는 형식 문자열 (예 : %s , %d ).
$ 값 : 형식화 된 문자열에 삽입 할 값.
%s 는 문자열 자리 표시 자이고, %d는 수의 자리 표시 자이며, 귀하의 요구에 따라 선택할 다른 자리 표시자가 많이 있습니다.
먼저 Sprintf를 사용하여 테이블 헤더 및 테이블 내용으로 HTML 테이블을 생성하는 방법을 보여주는 간단한 예를 살펴 보겠습니다.
<?php
// 헤더
$tableHeader = sprintf(
"<tr><th>%s</th><th>%s</th><th>%s</th></tr>",
'이름',
'나이',
'도시'
);
// 표 데이터
$data = [
['장 산', 25, '베이징'],
['Li Si', 30, '상하이'],
['왕 우', 28, '광저우']
];
// 테이블 내용
$tableContent = '';
foreach ($data as $row) {
$tableContent .= sprintf(
"<tr><td>%s</td><td>%d</td><td>%s</td></tr>",
$row[0],
$row[1],
$row[2]
);
}
// 완벽한 HTML 시트
$table = sprintf(
"<table border='1'>%s%s</table>",
$tableHeader,
$tableContent
);
echo $table;
?>
이 예에서는 Sprintf 함수를 사용하여 테이블 헤더 및 테이블 컨텐츠를 생성합니다. $ TableHeader는 %S 자리 표시자를 사용하여 열 이름을 삽입하는 반면 $ Tablecontent는 %s 및 %d를 사용하여 데이터를 삽입합니다.
데이터베이스에서 동적 배열이나 데이터가 가져온 경우 Sprintf를 사용하여 HTML 테이블을 생성 할 수도 있습니다. 예를 들어, 다음 데이터가 데이터베이스에서 얻은다고 가정합니다.
// 데이터베이스에서 얻은 데이터를 시뮬레이션합니다
$data = [
['장 산', 25, '베이징'],
['Li Si', 30, '상하이'],
['왕 우', 28, '광저우']
];
Sprintf를 통해 테이블을 동적으로 생성 할 수 있습니다.
<?php
$tableHeader = sprintf(
"<tr><th>%s</th><th>%s</th><th>%s</th></tr>",
'이름',
'나이',
'도시'
);
$tableContent = '';
foreach ($data as $row) {
$tableContent .= sprintf(
"<tr><td>%s</td><td>%d</td><td>%s</td></tr>",
$row[0],
$row[1],
$row[2]
);
}
$table = sprintf(
"<table border='1'>%s%s</table>",
$tableHeader,
$tableContent
);
echo $table;
?>
Sprintf를 사용하여 링크가있는 HTML 테이블을 생성 할 수도 있습니다. 예를 들어, 테이블의 열에 링크를 추가하면 데이터에 따라 링크 주소를 동적으로 생성 할 수 있습니다.
<?php
$data = [
['장 산', 25, '베이징', 'https://gitbox.net/user/zhangsan'],
['Li Si', 30, '상하이', 'https://gitbox.net/user/lisi'],
['왕 우', 28, '광저우', 'https://gitbox.net/user/wangwu']
];
$tableHeader = sprintf(
"<tr><th>%s</th><th>%s</th><th>%s</th><th>%s</th></tr>",
'이름',
'나이',
'도시',
'개인 홈페이지'
);
$tableContent = '';
foreach ($data as $row) {
$tableContent .= sprintf(
"<tr><td>%s</td><td>%d</td><td>%s</td><td><a href='%s'>개인 홈페이지</a></td></tr>",
$row[0],
$row[1],
$row[2],
$row[3]
);
}
$table = sprintf(
"<table border='1'>%s%s</table>",
$tableHeader,
$tableContent
);
echo $table;
?>
이 예에서는 각 사용자에 대한 링크를 추가하고 링크 주소가 동적으로 생성되고 도메인 이름이 gitbox.net 으로 대체되었습니다.
때로는 생성 된 테이블을 더 읽기 쉽게 만들려면 포맷해야 할 수도 있습니다. 예를 들어, 테이블을 생성 할 때 CSS 클래스를 추가하거나 테이블 스타일을 설정할 수 있습니다.
<?php
$tableHeader = sprintf(
"<tr><th>%s</th><th>%s</th><th>%s</th></tr>",
'이름',
'나이',
'도시'
);
$tableContent = '';
foreach ($data as $row) {
$tableContent .= sprintf(
"<tr><td class='name'>%s</td><td class='age'>%d</td><td class='city'>%s</td></tr>",
$row[0],
$row[1],
$row[2]
);
}
$table = sprintf(
"<table class='user-table' border='1' style='border-collapse: collapse; padding: 10px;'>%s%s</table>",
$tableHeader,
$tableContent
);
echo $table;
?>
테이블 및 테이블 셀에 CSS 클래스를 추가하면 스타일을 쉽게 제어하여 테이블을보다 위협적으로 즐겁고 읽을 수있게합니다.
관련 태그:
HTML