ホームページ >バックエンド開発 >PHPチュートリアル >PHP構文ルールの詳しい説明、PHP構文の詳しい説明_PHPチュートリアル

PHP構文ルールの詳しい説明、PHP構文の詳しい説明_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:58:54752ブラウズ

PHP 構文ルールの詳細な説明、PHP 構文の詳細な説明

1. 簡単な構文ルール (変数名を中括弧で区切る、PHP のすべてのバージョンに適用されます):

リーリー


私たちが表現したいのは、「彼女は花を受け取りました」ということです。コンテキスト内の Flower は複数形 (つまり、後ろに S を追加する必要があります) である必要がありますが、変数がいずれにも定義されていない場合は、そうすると、最初のエコーの場合が表示されます。明らかに、出力を $as ではなく $a にしたいのです。では、通常、この出力をどのように処理するのでしょうか?

リーリー


注: { が $ の前にあるか後にあるかに関係なく、中括弧はすぐに隣接している場合にのみ区切り記号とみなされます。間にスペースを追加しないでください。追加しないと、通常の中括弧として扱われます

リーリー



2. 複雑な構文ルール (PHP4+ で使用される中括弧などで式を区切る):

リーリー


注 1: echo "このように書くのは有効ですか: {getName()}"; 出力結果は次のようになります: 'このように書くのは有効です:
{getName()}'。 $ が含まれていないため、中括弧は区切り文字として使用されません
注 2: echo "このように書くのは有効ですか: {$arr[foo][3]}"; この質問に答える前に、次のようにしましょう。実験:

リーリー


は次のエラーを生成しました:
注意: 未定義の定数 d の使用 - 'd' と仮定します
注: 未定義の定数 d の使用 - 'd' と仮定します
したがって、以下のようにコードを変更すると、これ

リーリー


今回は問題がないことが分かりました。文字列中の配列のインデックスがシングルクォーテーションで囲まれていなければ問題ないことがわかりますが、この書き方が文字列中にない場合はエラーが報告され、{$arr[foo] の場合は][3]} 文字列内の解析は非文字列解析に基づいています。したがって、インデックスに一重引用符を追加せずに、文字列内の配列を区切るために中括弧のみを追加するのは誤りです。プログラムは引用符で囲まれていないインデックスを定数として解釈するため、エラーが発生します。正しい書き方は次のようになります:

リーリー


特別な注意: echo "This is $arr[d]"; この書き込みメソッドはプログラムによって解析できますが、配列が 1 次元配列の場合に限定されます。厳密な記述方法は次のようにする必要があります: echo "This is {$arr['d']}"; 私の生徒はかつてこの点について私と議論しました:前の記述方法で結果が得られるのに、なぜそれを使用する必要があるのですか?後者の書き方はどうでしょうか?それでは、前のコードの変更を続けましょう

リーリー


これでも正しく解析できますか?中括弧の追加は必ず必要だということだけをお伝えしたいと思います。もちろん、あなたが私の生徒でない場合、私はそこまでコントロールすることはできません...

注 3:

リーリー


上記のコードを実行します。結果は同じなのですが、なぜそうなるのでしょうか?私が言えるのは、PHP は弱い型付けの言語であるということだけです。弱い型付けの言語とは何かについては、ここでは詳しく説明しません。自分でGoogleで調べてみてください。ここまで述べましたが、これらの構文規則の利点を最もよく反映する具体的なアプリケーションはどこでしょうか? ----SQL ステートメント

れーれー

www.bkjia.com本当http://www.bkjia.com/PHPjc/1100704.html技術記事 PHP 構文ルールの詳細な説明、PHP 構文の詳細な説明 1. 簡単な構文ルール (変数名を中括弧で区切ります。PHP のすべてのバージョンに適用されます): $a = 'flower' ; echo "彼女は $as を受け取りました" ;無効です。.. .
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。