print_r()情報を変数に
print_r()の情報を変数に格納するには
- print_r()の第2引数をTRUEに指定する
print_r()情報の変数化
print_r()の出力情報は、配列などの情報を表示するのに便利ですが、デフォルトの動作ではすぐに出力してしまいます。
通常だと、こういった動作をする関数の出力情報を変数に格納したい場合には出力制御を使うのですが、print_r()の場合には第2引数にTRUEを指定するだけで関数の動作が変わり、出力をするのではなく、結果を返してくれるようになります。
print_r()情報の変数化サンプル
<?php
$arr = array(1, 2, 3, 4, 5);
$info = print_r($arr, TRUE);
echo $info;
?>
出力結果
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
以下、print_r()の書式情報です。
書式
- bool print_r( mixed expression [, bool return ] )
但し、この第2引数が追加されたのはPHP4.3.0からです。それ以前のバージョンではやっぱり出力制御を使うしかないようです。
ちなみにvar_dump()にはreturn引数が設定されていませんので、print_r()と同じように第2引数を指定しても、結果を返してはくれるようにはなりません。
ついでなのでvar_dump()の書式を見てみると
書式
- void var_dump( mixed expression [, mixed expression ... ] )
var_dump()は情報を出力したい式を複数指定することができます。この機能はprint_r()にはないものですが、その分print_r()と同じように引数の設定だけで動作が変わるような仕様は期待できないかもしれません。


