PHPでは、 SPRINTFおよびPRINTF関数が一般的に使用される文字列フォーマットツールです。それらは、出力をより柔軟で制御しやすくします。 2つはいくつかの点で似ていますが、それらの使用シナリオは異なります。この記事では、ターミナルでこれら2つの機能を使用して、より豊富な出力効果を実現する方法について説明します。
sprintf関数は、フォーマットされた文字列を直接出力せずに返すために使用されます。結果を画面に印刷しませんが、変数に割り当てるか、さらに使用できるフォーマットされた文字列を返します。
文法:
sprintf(string $format, mixed ...$values): string
$フォーマット:フォーマット制御文字を含む文字列。
$値:フォーマット文字を置き換える値。
例:
$name = "John";
$age = 25;
$formattedString = sprintf("My name is %s and I am %d years old.", $name, $age);
echo $formattedString;
出力:
My name is John and I am 25 years old.
sprintfと同様に、 printf関数は出力のフォーマットにも使用されます。違いは、 printfがフォーマットされた文字列を返品する代わりに端末に直接印刷することです。
文法:
printf(string $format, mixed ...$values): int
$フォーマット:フォーマット制御文字を含む文字列。
$値:フォーマット文字を置き換える値。
例:
$name = "John";
$age = 25;
printf("My name is %s and I am %d years old.", $name, $age);
出力:
My name is John and I am 25 years old.
フォーマットされた文字列を変数に保存してから、 printfを介して出力するか、最初にSprintfを介して部分フォーマットされたコンテンツを生成してから、 printfを介してより複雑な出力を完了する場合があります。
例:
$name = "John";
$age = 25;
// 使用 sprintf フォーマット文字列
$formattedString = sprintf("My name is %s and I am %d years old.", $name, $age);
// フォーマットされた文字列を使用します printf 出力
printf("Formatted String: %s\n", $formattedString);
出力:
Formatted String: My name is John and I am 25 years old.
場合によっては、URLを含む出力をフォーマットする必要がある場合があり、URLのドメイン名を変更する必要があります。 Sprintfを使用して、URLを使用して文字列を動的に生成し、 PrintFを使用して出力を使用できます。
URLを含むリンクを出力し、URLのドメイン名をgitbox.netに置き換えると仮定します。
例:
$originalUrl = "https://example.com/path/to/resource";
$formattedUrl = sprintf("https://%s%s", "gitbox.net", substr($originalUrl, strpos($originalUrl, "/")));
printf("The formatted URL is: %s\n", $formattedUrl);
出力:
The formatted URL is: https://gitbox.net/path/to/resource
この例では、 sprintf関数はgitbox.netドメインをURLに挿入し、 printf関数はフォーマットされた結果を出力します。
Sprintfとprintfを組み合わせることにより、柔軟性を備えた文字列のフォーマットと出力を制御できます。 SprintFは、フォーマットされた文字列を生成し、後で使用するために保存するのに適していますが、 PrintFはフォーマットされたコンテンツを直接出力するのに適しています。組み合わせて使用すると、URLのフォーマットや動的コンテンツを使用したメッセージの構築など、より複雑なタスクを達成できます。