print_r()は、解り易い形式で変数の値に関する情 報を表示します。string, integer, floatを指定した場合はその値が出力されます。 arrayを指定した場合、キーと要素を表す形式で値が表示 されます。objectに関しても同様の表示形式となります。
print_r()は、配列ポインタを終端まで移動するこ とに注意して下さい。ポインタを最初に戻すために reset()を使用して下さい。
print_r()を var_dump()と比較してみて下さい。
ティップブラウザに直接結果を出力する全てのものと同様に、出力制御関数を使用してこの関数の出力をキャプチャーし、文字列等に保存することが可能です。
<pre> <?php $a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z')); print_r ($a); ?> </pre> |
出力は次のようになります:
<pre> Array ( [a] => apple [b] => banana [c] => Array ( [0] => x [1] => y [2] => z ) ) </pre> |
注意 PHP 4.0.4より前のバージョンでは、自分自身への直接または間接の参 照を含むarrayまたはobjectが指定された 場合には、無限にprint_r()が実行されてしまいま した。print_r($GLOBALS)が例で、 $GLOBALSはそれ自体自分自身への参照を有するグ ローバル変数です。
ob_start(), var_dump(), var_export()も参照下さい。