• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPでのQUERY_STRINGの使い方)

PHPでのQUERY_STRINGの使い方

このQ&Aのポイント
  • PHPを勉強中の方へ、QUERY_STRINGの使い方を解説します。
  • URLの?以降の文字列を取得し、正規表現で数式に一致するかどうかを判定したいです。
  • 現在のコードにエラーが出てしまう原因を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.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

ns_kurlyv_blue
質問者

お礼

回答ありがとうございます。 回答日付が近く悩んだのですが、細かく解説していただいたのでベストアンサーにさせていただきました。 ありがとうございました。

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5241/13712)
回答No.1

> "$_SERVER['QUERY_STRING']" なぜダブルコーテーションで囲っているのでしょうか? 単に変数を渡せばいいのでダブルコーテーションは不要ですし、ダブルコーテーションを除けばエラーは消えます。

ns_kurlyv_blue
質問者

お礼

回答ありがとうございます。 やはりコマンドの理由・動作など勉強不足だなあと痛感しました。

関連するQ&A