dポイントプレゼントキャンペーン実施中!

PHPをイチから勉強しています。
「var_dump()関数を使うと変数の情報を表示できます」と本に載っていますが、この関数の使い道は何だろう?と疑問に思っています。解説では、

$a = true;
var_dump($a);

bool(true)

論理型で値はtrueです、とあります。
でも、この関数を使わなくても見れば分かるのでは?と思い、分からなくなりました。素人爆発の質問で申し訳ないのですが分かりやすく教えてください。よろしくお願いします。

A 回答 (2件)

>この関数の使い道は何だろう?



まぁ一言でいえば「デバッグ」ですね

>この関数を使わなくても見れば分かるのでは?

そりゃ直前に書いてあればわかるでしょうけど
どこか別のところに書いてあったらわからないでしょ?

例はよくないですが、たとえば以下のような定義があったとき
キーや、データの型・要素などが明示されるので想定していない
エラーが出た場合など原因究明に便利です。

<?
$a=Array(Array("x"=>"xxx"),Array("y"=>100.99),Array("z"=>true));
print "<pre>\n";
var_dump($a);
print "</pre>\n";
?>
    • good
    • 0
この回答へのお礼

デバッグで使うというのは頭になかったです。勉強になりました。ありがとうございます!

お礼日時:2010/04/19 22:36

var_dumpは主にデバッグ用の関数です。


『見れば判るのでは』との事でしたが、内部変数(カウンタの$iなど)や、受け取った$_POSTの値などを直接見る事はできません。

echo などでわざわざデバッグの為だけに出力すれば見えますよ。
var_dumpは配列の中身も見やすく出力できるという利点があります。

それ以上に、echoなどは通常の出力でも使われるので、デバッグ用に埋め込んだ確認用出力を削除し忘れてしまったときに問題になります。
最終的に完成したサイトの上の方に、意味なく『hogehoge』と表示されているのはマヌケです。

完成後、リリース前にechoで検索しても、それがデバッグ用出力なのか、本当に出力したい文字なのか、前後を見ていちいち判断しなければなりません。
var_dumpは事実上デバッグ専用なので、検索してみつかったら削除(またはコメントアウト)してしまって問題ありません。
※逆に削除して問題があるような出力に、var_dumpを使う方が間違い。

ま、関数として用意されているからと言って、別に全部の関数を使う必要はないですよ。
使い道が判らないなら、使う必要はありません。
Windowsに『電卓』ソフトが付いてるけど、暗算すればイイジャン、使い道が判らない、なんで付いてるの?
と思う人がいてもいいですが、それを使う人は大変便利に使います、というのに似ているかも知れません。
    • good
    • 0
この回答へのお礼

分かりやすい説明をありがとうございました。デバックで使うんですね。謎が一つ解明されました!

お礼日時:2010/04/19 22:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!