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クラスを追加することで、スタイルを簡単に制御できるようになり、テーブルをより美しく読みやすくします。