- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPでのQUERY_STRINGの使い方)
PHPでのQUERY_STRINGの使い方
このQ&Aのポイント
- PHPを勉強中の方へ、QUERY_STRINGの使い方を解説します。
- URLの?以降の文字列を取得し、正規表現で数式に一致するかどうかを判定したいです。
- 現在のコードにエラーが出てしまう原因を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
二重引用符で括った内側では変数は展開されますが、だからといってそれに頼るのは(無駄に括るのは)やめましょう。文字列リテラルがなくて変数だけなので二重引用符で括る意味がありません × echo preg_match("/[^0-9\(\)\+\*\/-]/", "$_SERVER['QUERY_STRING']"); ○ echo preg_match("/[^0-9\(\)\+\*\/-]/", $_SERVER['QUERY_STRING']); どうしても二重引用符で括ったままにしたいなら echo preg_match("/[^0-9\(\)\+\*\/-]/", "{$_SERVER['QUERY_STRING']}"); ですね。 http://php.net/manual/ja/language.types.string.php
その他の回答 (1)
- t_ohta
- ベストアンサー率38% (5241/13712)
回答No.1
> "$_SERVER['QUERY_STRING']" なぜダブルコーテーションで囲っているのでしょうか? 単に変数を渡せばいいのでダブルコーテーションは不要ですし、ダブルコーテーションを除けばエラーは消えます。
質問者
お礼
回答ありがとうございます。 やはりコマンドの理由・動作など勉強不足だなあと痛感しました。
お礼
回答ありがとうございます。 回答日付が近く悩んだのですが、細かく解説していただいたのでベストアンサーにさせていただきました。 ありがとうございました。