ようやく今月でエンジニア歴1年になりました。
1年目は簡単な個人開発ばかりやって基礎固めをさぼってしまい、最近の業務で色々躓くことが多くなってきたので今年は基礎固め、応用全部頑張りたいと思います。
print_r、var_dump、echoの違い
それぞれ出力したい値によって使い分ける。
それは分かってるんだけどもどうやって分けるんだ…と言う感じだったので後で見返せるように自分用に、それぞれの特徴と用途をまとめてみました。
print_r()
- 配列やオブジェクトの内容を出力する
- デバッグ時に変数の内容を確認したいに使う
- 型情報は提供されないので、bool値やnullのような型は出力されない場合がある
- 配列やオブジェクトの構造を確認したいときに使うと良い
$num = [10,20,30,40,50];
$print_r($num);
print_r()はvar_dump()が使えなかったデバッグ環境で重宝していた気がします。
個人的推し。
実際に書いてたコード↓
$serializedData = serialize($param);
file_put_contents("./debug.log", $serializedData);
var_dump()
- 変数の情報を詳細に出力する
- 配列やオブジェクトのネストも出力できる
- デバッグや複雑なデータ構造を表示したいときに使う
$num = [10,20,30,40,50];
$var_dump($num);
デバッグと言えばvar_dump()を使う方が大半なのではないでしょうか?
様々な値を細部まで出力できるので大変便利です。
echo
- .を使い、文字を連結できる
- 文字列など単純な値を出力するために使う
$name = "marin";
echo "私の名前は, ", $name, "です。";
チュートリアルでたくさん見てきたecho。(笑)
何かとお世話になった気がします。
まとめ
ざっくりまとめてみましたが、こんなに違いがあると思っていませんでした。
こういった基礎的なことが自分はどうしてもアウトプットが抜けがちなので、こういったアウトプットも今後は増やしていきたいです。