:
stackoverflow.com/?id=stack
<?php
echo $_GET['id'];
//output: stack
?>
しかし、URLは次のようであるならば、私は$ _GET要求を取得する方法を知っていただきたいと思います:
stackoverflow.com/?stack
<?php
echo ???
//output: stack
?>
お知らせ/?
以降の内容は動的に変更されます。
:
stackoverflow.com/?id=stack
<?php
echo $_GET['id'];
//output: stack
?>
しかし、URLは次のようであるならば、私は$ _GET要求を取得する方法を知っていただきたいと思います:
stackoverflow.com/?stack
<?php
echo ???
//output: stack
?>
お知らせ/?
以降の内容は動的に変更されます。
あなたは$_SERVER['QUERY_STRING']
<?php
$key = 'stack';
echo array_key_exists($key, $_GET) ? $key : NULL;
?>
で全体のクエリ文字列(の未解析)を取得することができます私はあなたのコメントに気づい:/後
お知らせそのコンテンツを?動的に変更されます。
あなただけのクエリ文字列に表示されます何を使用して動的に何かをしたい場合は、$_GET
をループまたは$_SERVER[ 'QUERY_STRING' ]
へのアクセスに関する他の答えは(本当に何をやっているによって異なります)より良いあなたに合うかもしれません。そのような状況のための別の可能性は、あなたがURLに関する多くの情報を取得するために$_SERVERを使用することができますarray_keys($_GET)
リクエスト '?stack'に対して' $ _GET'は空です。また、 '' ''の代わりに' 'NULL''をデフォルトにするのはなぜですか? – phihag
'$ _GET'はそのリクエストでは空ではありません。キー' stack'と空文字列の値を持つ要素が挿入されます。 msgstr "" "また、なぜ" '"ではなくNULLにするのですか?特にこの場合は問題ありません。 NULLは文字列に変換されます(この場合は空文字列)。 – JMM
おっと、あなたは大丈夫です。私は何とかテストを台無しにしたに違いない。それにもかかわらず、この変形は 'key = 'x &y';' – phihag
で、
$_SERVER['QUERY_STRING'];
$_SERVER['REQUEST_URI'];
$_SERVER['QUERY_STRING']
ようにあなたが探している値が含まれています。試してください:
<?php
echo $_SERVER['QUERY_STRING'];
null値の場合、$ _GET ['stack']になります。
スーパーグローバルな$ _GET配列があります。私はphp.netでそれをチェックすると助けになると信じています。
コード:
<?php
echo var_dump($_GET);
出力:
array(1) {
["stack"]=>
string(0) ""
}
はあなただけ$_GET
の内容を通過し、内部に何があるか見ることができます。あなたのケースでは、stack
は値として空の文字列のキーになります。
さらに、parse_url
を使用し、結果にquery
キーをチェックすることができます。これは、他の回答に記載されている$_SERVER['QUERY_STRING']
と同じです。
しかし、あなたが達成しようとしていることを説明した場合は、多分もっと役立つでしょう。
<?php
$d = array_keys($_GET);
echo array_shift($d);
?>
おそらく、URLの書き換えであるmod_rewriteをチェックアウトしてください。 '' stack?= Array([stack] =>) 'の 'print_r($ _ GET)'から出力された –