人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

echoで$_POST $_SESSIONのキーにシングルクォート、ダブルクォートを使うのはダメ?

phpのechoを使って、$_POST[""]、$_SESSION[""]の中身を出力したいのですが
$_POST,$_SESSIONのキーに、ダブルクォート、シングルクォートを付けるとエラーが出てしまい画面に表示することが出来ません。

具体的には、以下のものです。
echo "$_POST['id']";

キーのシングル・ダブルクォートを外すと表示できるのですが、何故echoを使って$_POST,$_SESSIONのキーにシングル・ダブルクォートを付けて出力しようとするととエラーになってしまうのでしょうか?

初歩的な質問で恐縮ですが、お教えいただけると助かります。

●質問者: osamuchan05
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● うぃんど
ベストアンサー

phpがプログラムを理解しようとする時点(パース時点)では、
まだ、変数の準備が済んでいないためパースエラーとなります。

{ と }で囲めばパースエラーは回避できます。

<?php
echo "{$_POST['id']}";

余談ですが、個人的には"で囲まないことを勧めます。
一見すると面倒そうに見えると思いますが、
デバッグやメンテナンスを繰り返していくと、
楽さがわかってくるはずです。

<?php
echo 'IDは' . $_POST['id'] . 'です。';

osamuchan05さんのコメント
ご丁寧に教えてくださりありがとうございます。 今後とても参考になる、文字列の作成方法まで教えてくださり 大変助かりました。 文字列の作成はエラーを起こしやすかったので 参考にさせて頂きます。 ありがとうございました。

2 ● JULY

変数の部分を {} で括ると OK になります。

echo "{$_POST['id']}";

参考:
PHP: 文字列 - Manual


osamuchan05さんのコメント
ご丁寧に教えてくださりありがとうございます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ