echo - printf - sprintf 違い | PHP

  • echo と print

echoは一つの引数を指定出来る
printは複数の引数を指定出来る

  • printf

フォーマット済みの文字列を出力(変数に代入出来ない)

<?php
$foo = 65; // ASCIIで'A'
printf("['%c']\n", $foo); // [A]
printf("['%s']\n", $foo); // [65]
printf("[%10c]\n",     $foo); // 右詰めとなる   [      A]
printf("[%-10c]\n",    $foo); // 左詰めとなる   [A      ]
printf("[%010c]\n",    $foo); // 0で空白を埋める   [00000A]
printf("[%1.10s]\n",   $foo); // 1桁以下を切り捨て   [5]
  • sprintf

フォーマット済みの文字列を出力(変数に代入出来る)

<?php
$num = 10;
$str = 'Hello';

$format = 'Say %s %d time.';
echo sprintf($format, $str, $num); // Say 'Hello' 10 time.
  • %sや%dなど

型指定子

%d 引数を[整数:10進数]として扱う
%s 引数を[文字列]として扱う
%F 引数を[float:浮動小数点数]

  • 順番を指定する場合

%と型指定子の間に$(数字)を加える

<?php
$format = 'Say %2$d %1$s time.';
echo sprintf($format, $str, $num); // Say Hello 10 time.

参考 http://www.php.net/manual/ja/function.sprintf.php



月のしずく

月のしずく

  • rui
  • J-Pop
  • ¥250