PHPのprint_r()とvar_dumpの違いをまとめた
1672 回閲覧されました
みなさんこんにちは、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” }」と表示されます。
これも見にくいので見やすくするためにコードを↓にします。
これで↓と表示されて見やすくなりました。