現在の位置: ホーム> 最新記事一覧> Sprintfを使用してテーブル出力ツールを実装する方法

Sprintfを使用してテーブル出力ツールを実装する方法

gitbox 2025-04-28

PHPでは、 SprintF関数を使用して文字列出力をフォーマットして、フォーマットされたテーブルの構築に役立ちます。この記事では、 SprintF関数を使用してシンプルなテーブル出力ツールを実装する方法を示します。

1。sprintf関数の紹介

sprintf関数は、フォーマットされた文字列を変数に出力します。その基本的な使用法は次のとおりです。

 sprintf(format, args...)
  • フォーマットは、出力コンテンツの構造を定義するフォーマット文字列です。

  • args ...は、形式文字列のプレースホルダーに対応するパラメーターです。

一般的なフォーマットシンボルには、 %s (string)、 %d (積分)、 %f (フローティング番号)などが含まれます。

2。sprintfを使用してテーブルを出力します

ユーザーの名前とメールアドレスを表示する単純なフォームを出力する必要があるとします。 Sprintfを介してデータの各行をフォーマットしてから、これらの行を完全なテーブルにスプライスできます。

2.1テーブル構造

私たちはテーブルを次のように見せたいです:

名前郵便
アリス[email protected]
ボブ[email protected]

2.2 Sprintfを使用してテーブルを生成します

最初に、テーブルの列のタイトルとデータを定義し、 Sprintfを使用して出力をフォーマットします。

 <?php

// ヘッダ
$header = sprintf("| %-10s | %-20s |\n", "名前", "郵便");

// 表形式データ
$data = [
    ["Alice", "[email protected]"],
    ["Bob", "[email protected]"]
];

// 出力テーブルヘッダー
echo $header;
echo str_repeat("-", strlen($header) - 1) . "\n";  // 出力仕切り

// 输出表形式データ
foreach ($data as $row) {
    echo sprintf("| %-10s | %-20s |\n", $row[0], $row[1]);
}

?>

2.3コードを説明します

  • sprintf( "|%-10S |%-20S | \ n"、 "name"、 "email");テーブルヘッダーを生成します。 %-10Sとは、10文字の幅がある左のアライメントを意味します。 %-20秒とは、20文字の幅がある左のアライメントを意味します。

  • str_repeat( " - "、strlen($ header)-1)は、テーブルヘッダーの幅と同じ長さの仕切りを生成するために使用されます。

  • 次に、 foreachループを介してデータ配列を繰り返し、 Sprintfを使用して各行の出力をフォーマットします。

2.4出力結果

上記のコードを実行した後、出力結果は次のとおりです。

 | 名前       | 郵便                  |
--------------------------------------
| Alice      | [email protected]       |
| Bob        | [email protected]         |

3.テーブル形式をカスタマイズします

列の幅の変更、アライメント、または追加の列の追加など、必要に応じてフォーマットを調整できます。 sprintfの形式に基づいて、関連する部分を変更するだけです。

たとえば、右に調整したい場合は、 %10sを使用できます(幅を指定し、右整列したものを指定します):

 echo sprintf("| %10s | %20s |\n", "Alice", "[email protected]");

4。概要

sprintf関数を使用すると、表形式データを簡単にフォーマットおよび出力できます。 Sprintf自体はテーブルの機能を直接サポートしていませんが、提供するフォーマット制御を介して、簡単なテーブル出力ツールを簡単に実装できます。