LoginSignup
100
90

More than 5 years have passed since last update.

[PHP] print_r、var_dump、var_export のちがい

Last updated at Posted at 2016-01-14

実行結果

実行ソース

PHP
<?php
$data = array(
    "A" => "Apple",
    "B" => "Banana",
    "C" => "Cherry"
);

echo "---print_r---\n";
print_r($data);

echo "---var_dump---\n";
var_dump($data);

echo "---var_export---\n";
var_export($data);
?>
出力結果
---print_r---
Array
(
    [A] => Apple
    [B] => Banana
    [C] => Cherry
)

---var_dump---
array(3) {
  ["A"]=>
  string(5) "Apple"
  ["B"]=>
  string(6) "Banana"
  ["C"]=>
  string(6) "Cherry"
}

---var_export---
array (
  'A' => 'Apple',
  'B' => 'Banana',
  'C' => 'Cherry',
)

解説

出力形式はそれぞれ微妙に異なります。
print_r、var_dump、var_export の各関数は、結果を画面に表示(標準出力)するので、頭に echo 等を付ける必要はありません。

デモソースはこちら

出力結果を変数へ格納する

変数への格納

print_r と var_export 関数は、第2引数を true にすると出力結果を return してくれるようになります。
$result = print_r($data, true);
$result = var_export($data, true);

ファイル出力

error_log 関数と併用することで、ログファイルに出力することもできます。

PHP
// 下記の「3」はファイル出力する指定
error_log(var_export($data, true), 3, "./log.txt");

※正常に log.txt が出力されない場合、たいていはパーミッションの不足が原因です(=書き込み権限が無い)

(・o・ゞ いじょー。

100
90
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
100
90