ホームページ  >  記事  >  バックエンド開発  >  PHPのecho、print、printf、sprintf関数の違いと使い方を詳しく解説_PHPチュートリアル

PHPのecho、print、printf、sprintf関数の違いと使い方を詳しく解説_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:17:521251ブラウズ

1. エコー機能:

出力関数はコマンドであり、値を返すことはできません。 Echo の後には、次のようにセミコロンで区切って多くのパラメータを続けることができます:
echo $myvar1;
echo 1,2,$myvar,"bold";


2. 印刷機能:

は値を返すことができ、パラメータを 1 つだけ持つことができる関数です。

int print(文字列引数)

arg を出力し、常に 1 を返します。


3. printf 関数:

int printf (文字列形式 [, 混合引数 [, 混合 ...]] )

sprintf() のドキュメントで説明されている format に従って出力を生成します。

出力された文字列の長さを返します。

次のようにテキストをフォーマットして出力します:
$name="hunte";
$age=25;
printf("my name is %s, age %d", $name, $age);


4. sprintf 関数:
string sprintf ( string format [,mixed args [,mixed ...]])

フォーマット文字列 format に従って生成された文字列を返します。

printf と似ていますが、印刷は行わず、フォーマットされたテキストを返します。残りは printf と同じです。


5. printf() 関数を詳しく説明します:

printf() 関数の呼び出し形式は次​​のとおりです:

printf("", );

%d 10進数の符号付き整数
%u 10進数の符号なし整数
%f 浮動小数点数
%s 文字列
%c 単一文字
%p ポインタ値
%e 指数形式の浮動小数点数
%x, %X 符号なし整数16 進数
%o 8 進数の符号なし整数
%g 適切な表現を自動的に選択します

手順:

(1)。「%」と文字の間に数字を挿入して、フィールドの最大幅を指定できます。

①例:%3dは、右詰めでは足りない3桁の整数を出力することを意味します。

②%9.2fは、出力フィールド幅が浮動小数点数9で、小数点以下の桁が2、整数の桁が6、小数点が1桁を占め、9桁では足りないことを意味します。右揃え。

③%8sは、右詰めでは足りない8文字の文字列を出力するという意味です。

④文字列の長さまたは整数の桁数が指定されたフィールド幅を超える場合は、実際の長さに応じて出力されます。

⑤浮動小数点数、整数部の桁数が指定した整数ビット幅を超える場合は、実際の整数ビットとして出力されます

⑥小数部の桁数が指定した小数点以下の桁幅を超える場合は、指定した幅に従って四捨五入して出力します。

⑦ 出力値の前に0を追加したい場合は、フィールド幅の項目の前に0を追加します。

例:%04dは、4桁未満の値を出力する場合、先頭に0を追加して合計幅を4桁にすることを意味します。

⑧文字や整数の出力形式を浮動小数点数で表す場合、小数点以下の数値が最大幅、小数点前の数値が最小幅を表します。

例: %6.9s は、長さが 6 以上 9 以下の文字列を表示することを意味します。 9 より大きい場合は、9 文字目以降の内容が削除されます。

(2) 「%」と文字の間に小文字の l を追加して、出力が長い数値であることを示すことができます。

①例: %ld は長整数を出力することを意味します

②%lf は倍精度浮動小数点数を出力することを意味します

(3) 出力を左揃えにするか右揃えにするかを制御できます。つまり、「%」と文字の間に「-」記号を追加すると出力が左揃えになることを示し、それ以外の場合は右揃えになります。 -整列。

①例:%-7dは7ビット整数を左詰めで出力することを意味します

②%-10sは10文字を左詰めで出力するという意味です

(4) いくつかの特殊文字
。 | システム番号


6. printf() : 例


例 1: さまざまな例

コードをコピーします

コードは次のとおりです:


$n = 43951789; 
$u = -43951789; 
$c = 65; // ASCII 65 は 'A' です

// 二重の %% に注目してください。これはリテラルの '%' 文字を出力します
printf("%%b = '%b'/n", $n); // バイナリ表現
printf("%%c = '%c'/n", $c); // chr() 関数と同じように ASCII 文字を出力します
printf("%%d = '%d'/n", $n); // 標準の整数表現
printf("%%e = '%e'/n", $n); // 科学的表記法
printf("%%u = '%u'/n", $n); // 正の整数の符号なし整数表現
printf("%%u = '%u'/n", $u); // 負の整数の符号なし整数表現
printf("%%f = '%f'/n", $n); // 浮動小数点表現
printf("%%o = '%o'/n", $n); // 8 進数表現
printf("%%s = '%s'/n", $n); // 文字列表現
printf("%%x = '%x'/n", $n); // 16 進数表現 (小文字)
printf("%%X = '%X'/n", $n); // 16 進数表現 (大文字)

printf("%%+d = '%+d'/n", $n); // 正の整数の符号指定子
printf("%%+d = '%+d'/n", $u); // 負の整数の符号指定子
?>  



このプログラムの出力は次のようになります:
%b = '10100111101010011010101101'
%c = 'A'
%d = '43951789'
%e = '4.39518e+7'
%u = '43951789'
%u = '4251015507'
%f = '43951789.000000'
%o = '247523255'
%s = '43951789'
%x = '29ea6ad'
%X = '29EA6AD'
%+d = '+43951789 '
%+d = '-43951789'

例2: 文字列指定子
复制代码代码如下:

$s = 'monkey'; 
$t = 「たくさんの猿」; 

printf("[%s]/n", $s); // 標準文字列出力
printf("[%10s]/n", $s); // スペースで右揃え
printf("[%-10s]/n", $s); // スペースを含む左揃え
printf("[%010s]/n", $s); // ゼロパディングは文字列にも機能します
printf("[%'#10s]/n", $s); // カスタムのパディング文字「#」を使用します
printf("[%10.10s]/n", $t); // 左揃えですが、10 文字で切り取られます
?>  

このプログラムの出力は次のようになります:
[monkey]
[ 猿]
[monkey ]
[0000monkey]
[####monkey]
[多くのmonke]

例3:ゼロ埋めされた整数
复制代码代码如下:

$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day); 
?> 

例4:通貨の書式設定
复制幣代码如下:

$money1 = 68.75; 
$money2 = 54.35; 
$money = $money1 + $money2; 
// echo $money は「123.1」を出力します。 
$formatted = sprintf("%01.2f", $money); 
// echo $formatted は「123.10」を出力します
?>

例5: sprintf() : 科学表記法
复制代码代码如下:

$number = 362525200; 

echo sprintf("%.3e", $number); // 3.63e+8 を出力します
?> 

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/621718.html技術記事 1. echo 関数: 出力関数、コマンドであり、値を返すことはできません。echo の後ろには、echo $myvar1; のように、間にいくつかのパラメータを指定できます。エコー 1,2,$myvar,"bbold/b"; 2.print関数...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。