【PHP】var_dump()の結果を変数に格納する方法

更新日:2024/02/27

PHPのvar_dump()はその場で変数の内容を出力してくれます。
しかしechoと組み合わせたり、結果を加工したいときは変数に格納したいですね。

そこで、var_dump()の結果を変数に格納する方法をお伝えします。

 

出力をバッファリングする

var_dump()は問答無用で出力先に出力されてしまいます。
そこで出力制御関数を使って、var_dump()の出力をバッファリングします。

次のようなコードで、取得できます。

ob_start(); // バッファリング開始
var_dump( $v );
$dump_text = ob_get_contents(); // バッファからデータ取得
ob_end_clean(); // バッファクリアとバッファリングの停止

 

関数化してテスト

頻繁にvar_dump()の結果を変数に格納するなら、関数化しておくといいですね。

function get_var_dump( $vale ){
    ob_start(); // バッファリング開始
    var_dump( $vale );
    $dump_text = ob_get_contents(); // バッファからデータ取得
    ob_end_clean(); // バッファクリアとバッファリングの停止
    return $dump_text;
}

$v = array( 'data1'=>1 , 'data2' => array( 1,2,3 ) );

echo '<pre>' . get_var_dump($v) . '</pre>';

ブラウザでの表示を意識して、最後にpreタグを追加しています。

結果は、次のようになります。

array(2) {   
  ["data1"]=>
  int(1)     
  ["data2"]=>
  array(3) { 
    [0]=>    
    int(1)   
    [1]=>    
    int(2)   
    [2]=>
    int(3)
  }
}

更新日:2024/02/27

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

こんにちはけーちゃんです。
説明するのって難しいですね。

「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php

 

このサイトは、リンクフリーです。大歓迎です。