ホームページ >バックエンド開発 >PHPチュートリアル >PHPの二重引用符に関するいくつかの疑問

PHPの二重引用符に関するいくつかの疑問

WBOY
WBOYオリジナル
2016-06-23 13:32:411023ブラウズ

二重引用符は変数を解析できるのに、なぜ変数を接続するためにドットを使用する必要があるのでしょうか?
echo "".$_SESSION['valid_user'] としてログインしました。";
echo "Loggin in as $_SESSION['valid_user']" を使用できないのはなぜですか


ディスカッションに返信(解決策)

両方の形式を使用できます。 . で区切ると、変数をより適切に区別できます。あなた自身のコーディング習慣に合わせて、どちらの書き方でも大丈夫です

それから、2 番目の方法を使い始めるとエラーが発生します。

echo "$_SESSION['valid_user'] としてログインしました";

解析エラー: 構文エラー、予期しない T_ENCAPSED_AND_WHITESPACE、T_STRING または T_VARIABLE または T_NUM_STRING を予期しています

echo "Loggin in as $_SESSION['valid_user']"; //语法错,没办法 php 就这么约定的echo "Loggin in as {$_SESSION['valid_user']}"; //正确echo "Loggin in as $_SESSION[valid_user]"; //正确echo "Loggin in as {$_SESSION[valid_user]}"; //正确,有未定义常量的警告


echo "Loggin in as $_SESSION['valid_user']"; //语法错,没办法 php 就这么约定的echo "Loggin in as {$_SESSION['valid_user']}"; //正确echo "Loggin in as $_SESSION[valid_user]"; //正确echo "Loggin in as {$_SESSION[valid_user]}"; //正确,有未定义常量的警告

これ、なぜナンバーワンなのかが分かりました文法上の間違いが原因なのでしょうか?

echo "Loggin in as $_SESSION['valid_user']";

と echo "Loggin in as $_SESSION[valid_user]"; 唯一の違いは、配列名のインデックスが役に立たないことです。 。 。

具体的な理由を知るには、PHP ソース コードの構文インタープリター コードを研究してください

これは単なるコード作成の習慣であり、本質的には誰も正しいか間違っているかはありません。これは読者の潜在的な読書習慣を形成するだけです

PHP 構文では、文字列に変数を挿入する標準的な方法は {$var} です

したがって、 echo "Loggin in as {$_SESSION['valid_user']}" は正しいです。 。

もちろん、 を使用してスプライスすることもできます。



PHP 構文では、文字列に変数を挿入する標準的な方法は {$var} です

したがって、 echo "Loggin in as {$_SESSION['valid_user']}"; は正しいです。

もちろん、 を使用してスプライスすることもできます。
ありがとう

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。