phpのechoを使って、$_POST[""]、$_SESSION[""]の中身を出力したいのですが
$_POST,$_SESSIONのキーに、ダブルクォート、シングルクォートを付けるとエラーが出てしまい画面に表示することが出来ません。
具体的には、以下のものです。
echo "$_POST['id']";
キーのシングル・ダブルクォートを外すと表示できるのですが、何故echoを使って$_POST,$_SESSIONのキーにシングル・ダブルクォートを付けて出力しようとするととエラーになってしまうのでしょうか?
初歩的な質問で恐縮ですが、お教えいただけると助かります。
phpがプログラムを理解しようとする時点(パース時点)では、
まだ、変数の準備が済んでいないためパースエラーとなります。
{ と }で囲めばパースエラーは回避できます。
<?php echo "{$_POST['id']}";
余談ですが、個人的には"で囲まないことを勧めます。
一見すると面倒そうに見えると思いますが、
デバッグやメンテナンスを繰り返していくと、
楽さがわかってくるはずです。
<?php echo 'IDは' . $_POST['id'] . 'です。';
phpがプログラムを理解しようとする時点(パース時点)では、
まだ、変数の準備が済んでいないためパースエラーとなります。
{ と }で囲めばパースエラーは回避できます。
<?php echo "{$_POST['id']}";
余談ですが、個人的には"で囲まないことを勧めます。
一見すると面倒そうに見えると思いますが、
デバッグやメンテナンスを繰り返していくと、
楽さがわかってくるはずです。
<?php echo 'IDは' . $_POST['id'] . 'です。';
ご丁寧に教えてくださりありがとうございます。
今後とても参考になる、文字列の作成方法まで教えてくださり
大変助かりました。
文字列の作成はエラーを起こしやすかったので
参考にさせて頂きます。
ありがとうございました。
変数の部分を {} で括ると OK になります。
echo "{$_POST['id']}";
ご丁寧に教えてくださりありがとうございます。
ご丁寧に教えてくださりありがとうございます。
2013/10/29 18:54:42今後とても参考になる、文字列の作成方法まで教えてくださり
大変助かりました。
文字列の作成はエラーを起こしやすかったので
参考にさせて頂きます。
ありがとうございました。