PHPのprint_r()とvar_dumpの違いをまとめた

PHPのprint_r()とvar_dumpの違いをまとめた

みなさんこんにちは、WEB制作のエンジニアのjonioです。

今回は「print_r()」と「var_dump()」の違いをまとめた記事になります。

 

print_r()とは

変数の中身を出力する関数で構造は「print_r($value , $return)」となっています。

「$value」は変数で「$return」はtrueかfalseを選択できてtrueにした場合返り値になります。

「$return」はデフォルトはfalseで何も書かなくてもfalseになります。

「echo」と違い配列も表示する事ができます。

例を見ながら変数が出力されるのを確認します。

まずは単純な変数の出力です。

コードを↓にします。

結果は「テスト」と表示されます。

次は配列で試します。

コードを↓にします。

結果は「Array ( [0] => テスト1 [1] => テスト2 [2] => テスト3 )」と表示されます。

今のままだと配列が複雑になった時に見にくいですが↓のコードに変えると見やすくなります。

これで↓の表示になります。

ここまで「$return」をfalseの状態で考えていますが「true」にします。

trueにすると$resultの内容が表示されないので表示させるためにあえて↓にします。

これで配列の中身が表示されます。

次はvar_dump()です。

 

var_dump()

var_dump()の方がprint_r()よりも変数の情報が詳しく表示されます。

簡単な例で確認します。

コードを↓にします。

これで表示が「int(100)」になります。

int(100)のintは整数という意味で100は出力する内容です。

このようにvar_dump()は値だけでなく値の型まで表示されます。

他の場合も見ます。

コードを↓にします。

これで「string(11) “Hello World“」と表示されます。

11はHelloとWorldの間の空白も含めた文字数です。

Hello Worldは文字なのでstringになります。

最後に配列を見ます。

コードを↓にします。

これで「array(3) { [0]=> string(10) “テスト1” [1]=> string(10) “テスト2” [2]=> string(10) “テスト3” }」と表示されます。

これも見にくいので見やすくするためにコードを↓にします。

これで↓と表示されて見やすくなりました。