|
スポンサードリンク
文字列を整形するには、sprintf()、vprintf()、vsprintf()関数を使います。
sprintf( フォーマット [, 引数1] [, 引数2]・・・) |
指定したフォーマットにしたがって整形した文字列を返します。
引数の数は可変です |
vprintf( フォーマット , 配列情報) |
指定したフォーマットにしたがって整形した配列情報を返します。 |
vsprintf( フォーマット , 配列情報) |
フォーマットの指定方法は、パーセント記号(%)の後に以下の指定子をそれぞれ指定します。
%符号指定子 パディング指定子 アラインメント指定子 表示幅指定子 精度指定子 型指定子
フォーマットで指定する指定子の詳細情報
分類 |
指定内容 |
説明 |
符号指定子 |
+ |
正の数の場合+も表示される。指定なしの場合、負の数の場合のみ-が表示される |
パディング指定子 |
半角空白 |
半角空白で埋める |
0 |
ゼロで埋める |
'埋める文字' |
指定した文字で埋める |
アラインメント指定子 |
無指定 |
右寄せ(デフォルト) |
- |
左寄せ |
表示幅指定子 |
文字数(整数) |
指定した文字数で表示する |
精度指定子 |
ドット(.)に続けて整数を指定 |
少数点以下の表示桁数を指定 |
型指定子 |
% |
パーセントの文字を表示 |
b |
引数を整数として扱い、 バイナリの数値として表現します。 |
c |
引数を整数として扱い、その ASCII 値の文字として表現します。 |
d |
引数を整数として扱い、 10 進数として表現します。 |
e |
引数を科学記法として扱います (例 1.2e+2)。 |
u |
引数を整数として扱い、符号無しの 10 進数として表現します。 |
f |
引数を double として扱い、 浮動小数点数として表現します。 |
F |
引数を float として扱い、 浮動小数点数として表現します (ロケールに依存しません)。 PHP 4.3.10 および PHP 5.0.3 以降で使用可能です。 |
o |
引数を整数として扱い、 8 進数として表現します。 |
s |
引数を文字列として扱い、表現します。 |
x |
引数を整数として扱い、16 進数として (小文字で)表現します。 |
X |
引数を整数として扱い、16 進数として (大文字で)表現します。 |
スポンサードリンク
例1) 整数「30」を先頭ゼロ埋めで5桁で表示する。
<?php
$str = sprintf("%05d",30);
print "(" . $str . ")\n";
?>
●実行結果
(00030)
|
例2) 整数「30」を符号付きで表示する。
<?php
$str = sprintf("%+d",30);
print "(" . $str . ")\n";
?>
●実行結果
(+30)
|
例3) 浮動小数点数「30.23」を左寄せで、後方空白埋めで7桁表示する。
<?php
$str = sprintf("% -7.2f",30.23);
print "(" . $str . ")\n";
?>
●実行結果
(30.23 )
|
例4) 引数1を2006、引数2を3、引数3を21と指定し、2006年3月21日と表示する。
<?php
$year = "2006";
$manth ="3";
$day ="21";
$format = "(%1\$s年 %2\$s月 %3\$s日)\n";
$str = sprintf($format, $year, $manth, $day);
print $str;
?>
●実行結果
(2006年 3月 21日)
|
※フォーマットの「1$」「2$」「3$」はそれぞれ引数1、引数2、引数3の情報を利用するという意味
例5) 配列の情報を表示する。
<?php
$array = array("aa","bb","cc");
$str = vsprintf("(%s %s %s)",$array);
print $str
?>
●実行結果
(aa bb cc)
|
スポンサード リンク
|