魔法使いの卵

WEBエンジニアの卵の成長記録

print_rとvar_dumpってなにがちゃうの?

ぶっちゃけ、この2つっての違いが最初のころよーわからんかった。

中身みれるんやったら打ちやすいprint_r()さいつよwwwwじゃねwww

っておもってました。ええ。つい最近までは。

 

そもそもprint_rにしてもvar_dumpにしてもなんやねん。

はやい話が変数の中身とか配列の中身を見ることができるねん。

んじゃこの2つ何がちゃうねんって話になるよなぁw

 

それぞれの違いって結局なんやねん。

違いを横並びにして見比べてみるとvar_dumpは型まで表示してくれていて

かつnullなのかtrueなのかfalseなのかも返してくれる。

最近、型でどハマりしてたから型を意識するようになった。

print_r()での出力var_dump()での出力
null   NULL
true 1 bool(true)
false   bool(false)
123 123 int(123)
'ok' ok string(2) "ok"
array(1,2) Array(
[0] => 1
[1] => 2
)
array(2) {
[0] => int(1)
[1] => int(2)
}
class X {
public $p = 1;
private $q = 2;
}
new X()
X Object
(
[p] => 1
[q:X:private] => 2
)
object(X)#1 (2){
["p"] => int(1)
["q":"X":private] => int(2)
}

 

中身を把握してるときはprint_r

自身がないときは型までみれるvar_dumpって

使い分けるほうがええとおもうねんけど

確認の意味もこめて基本的に最近はvar_dumpをつかうようになった!!

 

参考元:

print_r()とvar_dump()どちらをつかう?? - 終電23時15分って早くね?