-
ID:Xu7GjV さんの質問

$_SERVER[’QUERY_STRING’]について

パラメータ付きのURLの時だけ、ある処理を実行したい場合、たとえば、次のような書き方でよいでしょうか?

$_SERVER[’QUERY_STRING’]は、パラメータがないurlだった場合、どのような値を返すのでしょうか?

if ($_SERVER[’QUERY_STRING’]) { echo $_SERVER[’QUERY_STRING’] }

みんなの回答 3 件

ID:Xu7GjV さんの回答

追加です。

ttp://www.phppro.jp/qa/1346

$_SERVER[’QUERY_STRING’]で取得できるのは、たとえば、
ttp://www.example.com/example.php?test=123
のようなURLの場合、「test=123」の部分です。

ttp://www.example.com/example.php
にアクセスした場合には、パラメータ(クエリー)が無いため、
空文字(?)が返されると思います。

空文字(?)と言うところが気になります。

if ($_SERVER[’QUERY_STRING’]) { echo $_SERVER[’QUERY_STRING’] }

これだとつねに、実行してしまうのではないか心配です。

ID:1Q9NOB

結局の所、空文字がtureかfalseか知りたいってこと?

ID:D8nitU

空文字がtureかfalseかその他か知りたいってことです。
空文字がtureかfalseならよいのですが、空文字が(?)だとどうすすればいいのかわかりません。

ID:Xn.QuW さんの回答

普通はissetで判定する気がする。
if (isset($_SERVER[’QUERY_STRING’])){処理}
試してないけど。

ID:GnuN4x さんの回答

PHPは普段書かないからよくわからないけど、とりあえず以下を行って自分で答えを導き出せば良いと思う。
1.パラメーター無しの時の$_SERVER[’QUERY_STRING’]の値とその型をデバッグして確認。
2.1で確認したことをベースに適切な条件式を使う

最終更新日:2016-08-02 (4,571 views)

関連するトピックス

ページ上部に戻る