Index

HOME > プログラムTOP > PHP

Information




PHPのTIPS :: 定数・変数の出力

echo, print, var_dump, print_r, var_export

§1. echoとprint

 変数や定数は echo か print関数で表示させることができます。この二つは最も基本的な出力関数です。
echo ( value1 [ , value2 [ , value3 ... ] ] )
[bool = ] print ( value1 )
 value1, value2 ... は出力する値です。echoは一度に複数の値を出力できます。両者とも、スカラー型の値はそのまま出力しますが、それ以外は通知レベルエラー(E_NOTICE)を発生させます。この時、画面には型名(Array, Object等)が表示されます。なお、括弧は省略可能です。
define('VALUE1', 'あいうえお');
$value2 = "かきくけこ";
$value3 = array("さ", "し", "す", "せ", "そ");

echo VALUE1, ", ", $value2;    // 出力: あいうえお, かきくけこ

echo $value3;                      // 出力: Array 
 両者はほとんど同様の機能を持ちますが、echoの方には戻り値がありません。戻り値を必要とする式には使用できません。このため、厳密な意味での関数ではなく、多くは echo文と呼ばれます。一方の printは論理値を返します。値は常に TRUEとなります。
$password = 'abcd';

// echoは条件演算子の各式には使用できない(エラーとなる)
($password=='qrst')? echo 'OK!': echo 'Wrong!'; 

// printは値を戻すので可能
($password=='qrst')? print 'OK!': print 'Wrong!'; 

//echoを使う時は以下のようにする必要がある
echo ($password=='qrst')? 'OK!': 'Wrong!'; 
 また、echoは値を返さないため、極わずかですが実行速度が速くなります。
$t1 = time();
for ($i=0; $i<30000000; $i++) echo "";
$t2 = time();
echo $t2 - $t1;        // 出力例: 17

$t1 = time();
for ($i=0; $i<30000000; $i++) print "";
$t2 = time();
echo $t2 - $t1;        // 出力例: 19 

§2. var_dumpとprint_r

 var_dump関数を使うと、変数や定数をデータ型名つきで取得できます。他の出力関数では空の文字列となってしまう論理値のFALSEもきちんと出力されます。デバッグ(動作チェック)時には大変重宝しますが、やや見にくいのが難点です。
var_dump (value1 [ , valie2 [ , value3 ... ] ] )
 value1, value2 ... は出力する変数か定数です。複数の値を設定することができます。戻り値はありません。  print_r関数も変数と定数を出力しますが、va_dumpよりは見やすい書式となります。ただし、論理値のFALSEは何も表示されません。
[mix = ] print_r ( value [ , flag ] )
 valueは出力する変数です。mixは戻り値を受け取る変数です。データ型は変数の型に依存します。また、flagは出力先の指定です。TRUEにすると戻り値として出力し、画面には表示されません。FALSEの時は画面に出力し、戻り値は常にTRUEとなります。省略した時は FALSEに設定されます。
define('VALUE1', 555);
$value2 = FALSE;
$value3 = 999;
$value4 = "abcde";
$value5 = array(11, 22, 33);

var_dump(VALUE1);       // 出力: int(555)
var_dump($value2);        // 出力: bool(false)
var_dump($value3);        // 出力: int(999)
var_dump($value4);        // 出力: string(5) "abcde"
var_dump($value5);        // 出力: array(3) {[0]=>int(11) [1]=> ...(略) 
print_r(VALUE1);           // 出力: 555
print_r($value2);            // 出力:  
print_r($value3);            // 出力: 999
print_r($value4);            // 出力: abcde
print_r($value5);            // 出力: Array

§3. var_export

 var_export関数は、変数や定数をPHPスクリプトの記述形式で出力します。そのまま変数の値として使用できるので便利です。
[mix = ] var_export (value [ , flag ] )
 valueは出力する変数です。mixは戻り値を受け取る変数です。データ型は変数の型に依存します。また、flagは出力先の指定です。TRUEにすると戻り値として出力し、画面には表示されません。FALSEの時は画面に出力し、値を返しません。省略した時は FALSEに設定されます。
define('VALUE1', 555);
$value2 = FALSE;
$value3 = 999;
$value4 = "abcde";
$value5 = array(11, 22, 33);

var_export(VALUE1);       // 出力: 555
var_export($value2);        // 出力: false 
var_export($value3);        // 出力: 999
var_export($value4);        // 出力: 'abcde'
var_export($value5);        // 出力: array ( 0=>11, 1=>22, 2=>33, )
» PHPトップページ
PHPのTIPS集:目次
Google Search
Google

www.sasaraan.net

sasaraan programming

(c)morijoh