sprintf()は、PHPの非常に実用的な文字列フォーマット関数です。変数をフォーマットテンプレートに挿入し、指定された方法でフォーマットできます。数値値、小数のアライメント、または構造化されたテキスト出力の生成を処理しているかどうかにかかわらず、 Sprintf()は役立ちます。
この記事では、基本的な使用法、フォーマットパラメーター、およびsprintf()の実用的なスキルをすばやく習得します。
sprintf()は、PHPの文字列フォーマット関数です。その基本的な構文は次のとおりです。
sprintf(string $format, mixed ...$values): string
$フォーマット文字列のプレースホルダーに基づいて次の値をフォーマットし、フォーマットされた文字列(直接出力なし)を返します。
$name = "Alice";
$age = 30;
echo sprintf("私の名前は %s,私は今年です %d 年。", $name, $age);
出力:
私の名前は Alice,私は今年です 30 年。
sprintf()は、 C言語と同様のフォーマットコントローラーを使用します。一般的に使用される形式シンボルを次に示します。
フォーマット文字 | 意味 |
---|---|
%s | 弦 |
%d | 署名された10進整数 |
%u | 署名されていない10進整数 |
%f | フローティングポイント番号 |
%x | 16進量(小文字) |
%x | ヘキサデシマル(キャップ) |
%o | オクタル |
%% | パーセントサインを出力します |
echo sprintf("シリアルナンバー:%04d", 42); // 出力 シリアルナンバー:0042
注: %04dとは、合計4桁があり、不足が最初の0に追加されることを意味します。
$price = 123.456;
echo sprintf("価格:%.2f 元", $price); // 出力 価格:123.46 元
説明: .2とは、2つの小数点以下が保持され、丸くなることを意味します。
$userId = 987;
$token = 'abc123';
$url = sprintf("https://gitbox.net/user/%d/profile?token=%s", $userId, $token);
echo $url;
出力:
https://gitbox.net/user/987/profile?token=abc123
echo sprintf("一方で:%2\$s はい %1\$s", "教師", "学生");
// 出力:一方で:学生 はい 教師
説明: %2 \ $ sは2番目のパラメーターを使用し、 %1 \ $ sは最初のパラメーターを使用することを意味します。
sprintf()は文字列を返し、 printf()は直接出力です。 2つの構文はほぼ同じです。
$message = sprintf("Hello, %s!", "World");
echo $message;
// に相当
printf("Hello, %s!", "World");
$level = "ERROR";
$message = "データベースに接続できません";
$log = sprintf("[%s] %s", $level, $message);
echo $log;
// 出力:[ERROR] データベースに接続できません
printf("%-10s | %5s\n", "製品", "価格");
printf("%-10s | %5.2f\n", "りんご", 3.5);
printf("%-10s | %5.2f\n", "バナナ", 2.2);
出力:
製品 | 価格
りんご | 3.50
バナナ | 2.20
説明: %-10Sとは、10文字を占める左アライメントを意味します。
執筆を逃したため、エラーが発生するため、フォーマット文字を忘れないでください。
複数のフォーマットパラメーターがフォーマットされている場合、数値が使用されていない限り、順序は形式で順序と一致する必要があります。
Sprintf() Nestをネストして、より複雑な出力コンテンツを生成できます。
sprintf()は強力で柔軟な文字列フォーマットツールであり、マスターすることで、クリーナーで保守可能なPHPコードを作成できます。テキスト出力の処理、URLの構造化、またはデータ表示のフォーマットなど、 Sprintf()は不可欠なツールです。
今すぐプロジェクトで使用してください!