PHP/var_dump 関数の出力を文字列で得る

結論。直接的手段は無い。 やるなら標準出力をトラップして出すことになる。

代替手段1 print_r

var_dump ほどではないが print_r でもそこそこの情報は出せる。 このように最後に true を渡すと文字列として戻してくれる。

$a = print_r($b, true);

代替手段2 var_export

var_dump と違い var_export はその変数を表現する PHP コードをリターンする。 つまり変数のシリアル化をわかりやすくするために存在する関数。

こいつを利用してもできる。 このように最後に true を渡すと、print_r 同様に文字列として PHP コードがえられる。

$a = print_r($b, true);