Alternative Request Method $ _GET

I know about this method:

stackoverflow.com/?id=stack

<?php 
   echo $_GET['id'];
   //output: stack
?>

But I would like to know how to get the $ _GET request if the URL looks like this:

stackoverflow.com/?stack

<?php 
   echo ???
   //output: stack
?>

Note that the content after /?dynamically changes.

+3
source share
8 answers

You can get an entire query string (unparsed) with $_SERVER['QUERY_STRING']

+3
source

You can get all the values ​​of $ _GET as follows:

<?php
foreach($_GET as $key => $value){
 // $key = 'stack';
 // $value = '';
}

However, you should know what values ​​are possible in your application and in the code for them.

+2
source
<?php
$key = 'stack';
echo array_key_exists( $key, $_GET ) ? $key : NULL;
?>

:

, /? .

- , , , $_GET $_SERVER[ 'QUERY_STRING' ], ( , ). array_keys( $_GET )

+2

$_ SERVER, URL-,

$_SERVER['QUERY_STRING'];
$_SERVER['REQUEST_URI'];
+2

$_SERVER['QUERY_STRING'] , . :

<?php
echo $_SERVER['QUERY_STRING'];
+2

$_GET ['stack'] .

$_GET. , php.net .

http://localhost/?stack

:

<?php
echo var_dump($_GET);

:

array(1) {
  ["stack"]=>
  string(0) ""
}
+2

$_GET , . stack ​​ .

, parse_url query , $_SERVER['QUERY_STRING'], .

, , , , .

+2
<?php
$d = array_keys($_GET);
echo array_shift($d);
?>
+2

All Articles