• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHP 変数の初期化について教えてください)

PHP変数の初期化についての疑問

このQ&Aのポイント
  • PHPにおいては変数の初期化は絶対に必要ではないが、良い習慣としては初期化することが推奨されている。
  • 変数の初期化とは、変数の型を決め初期値を入れることである。
  • PHPにおいては型の宣言は不要であり、値を代入することで型が決まる。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10361)
回答No.1

>1.私の解釈では変数の初期化とは、変数の型を決め初期値を入れる、と認識していますが、これは正しいのでしょうか。 Javaのように変数に型のある言語ならその通りです。PHPのように変数に型の無い言語なら、何かを代入することだけです。 >2 ということで正しいです。 >3.他の参考になりそうなサイトで配列を代入する変数を初期化する場合として下記のような記載がありました。 unsetは不要(無意味)です。 >4.変数を初期化するタイミングについて どの変数を初期化する話ですか? すべての変数は参照される前に代入されているので、特別な初期化は不要です。 「初期化が必要」というのは、「すべての変数は参照される前に代入されていなければならない」という事です。初期化していない変数を参照すると、数値のゼロ、空文字列、偽 などと解釈されますが、そういう値に期待するプログラムを書いてはいけないと言うこと。 E_NOTICE レベルのエラーを出力するように設定されていると警告メッセージが出ます。 悪い例は、 for($i = 1; $i <= 10; $i++) { $sum += $i; } echo $sum; 先頭で $sum = 0; が必要です。$sum = ""; でも警告は出ませんが間違いです。

noname#245598
質問者

お礼

お返事・お礼が遅くなり、申し訳ございません。 >すべての変数は参照される前に代入されていなければならない 変数がどうあるべきか、わかりました。ありがとうございます。 また、4.については説明不足でした。ごめんなさい。この場合、疑問に思った変数は $a と $b を指していましたが、「参照する前に代入されているから不要である」とご指摘いただけたので理解できました。 回答していただけたことに感謝します。また、機会がございましたが、何卒ご教授お願いします。

関連するQ&A