首页 >后端开发 >php教程 >php中$_GET,$_POST,$_REQUEST和$_SERVER的用法

php中$_GET,$_POST,$_REQUEST和$_SERVER的用法

WBOY
WBOY原创
2016-07-25 08:56:331470浏览
  1. echo $_GET['xingming']."
    ";
  2. echo $_GET['age']."
    ";
  3. echo $_POST['xingming']."
    ";
  4. echo $_POST['age']."
    ";
  5. ?>
复制代码

$_REQUEST的官方说明: $_REQUEST — HTTP Request 变量默认情况下包含了 $_GET,$_POST 和 $_COOKIE 的数组。 在不关心是get过来的还是post,总之要取得某一个键的值,就用$_REQUEST即可。 不过$_REQUEST速度会比$_GET,$_POST稍慢点。 通过$_SERVER获取服务器端信息 $_SERVER是一个数组,包含了headers, paths, script locations等多种信息。早期的php版本使用$HTTP_server_VARS数组,现在已经弃用了。 不同的服务器$_SERVER的信息也不一定相同的。通常的用法如下:

  1. echo $_SERVER['SERVER_ADDR'];
  2. echo $_SERVER['QUERY_STRING'];
复制代码

比较常用的获取QUERY_STRING的方法,通过$_SERVER['QUERY_STRING']得到的是诸如name=mike&age=30这样的。要把这种格式的值转成变量,PHP中有个方法parse_str,可以实现这个功能。 官方的示例:

  1. $str = "first=value&arr[]=foo+bar&arr[]=baz";
  2. parse_str($str);
  3. echo $first; // value
  4. echo $arr[0]; // foo bar
  5. echo $arr[1]; // baz
  6. parse_str($str, $output);
  7. echo $output['first']; // value
  8. echo $output['arr'][0]; // foo bar
  9. echo $output['arr'][1]; // baz
  10. ?>
复制代码

在本地环境通过代码:

  1. echo "";
  2. var_dump($_SERVER);
  3. echo "";
复制代码

用带格式的数据打印出数组内容:

array(31) { ["HTTP_ACCEPT"]=> string(3) "*/*" ["HTTP_ACCEPT_LANGUAGE"]=> string(5) "zh-CN" ["HTTP_USER_AGENT"]=> string(205) "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.2; Avant Browser)" ["HTTP_ACCEPT_ENCODING"]=> string(13) "gzip, deflate" ["HTTP_HOST"]=> string(14) "localhost:8080" ["HTTP_CONNECTION"]=> string(10) "Keep-Alive" ["HTTP_COOKIE"]=> string(154) "codehilite=IsPre=True&IsShowRowNumber=False&IsUseBR=False&Language=Csharp; iGHA2Cas=key=s8hoPBw6cWYHJ34NowHt%2f77gsEiQ9U9K0dDGPYjwLCFzQbqnNjlYMnUw9OOCF68u" ["PATH"]=> string(540) "C:\Program Files (x86)\ActiveState Komodo IDE 7\;C:\Program Files (x86)\ActiveState Komodo Edit 7\;E:\app\Administrator\product\11.1.0\client_1\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Microsoft asp.net\ASP.NET Web Pages\v1.0\;d:\php-5.4.4-Win32-VC9-x86\;" ["SystemRoot"]=> string(10) "C:\Windows" ["COMSPEC"]=> string(27) "C:\Windows\system32\cmd.exe" ["PATHEXT"]=> string(53) ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC" ["WINDIR"]=> string(10) "C:\Windows" ["SERVER_SIGNATURE"]=> string(0) "" ["SERVER_SOFTWARE"]=> string(31) "Apache/2.2.22 (Win32) PHP/5.4.4" ["SERVER_NAME"]=> string(9) "localhost" ["SERVER_ADDR"]=> string(9) "127.0.0.1" ["SERVER_PORT"]=> string(4) "8080" ["REMOTE_ADDR"]=> string(9) "127.0.0.1" ["DOCUMENT_ROOT"]=> string(13) "D:/phpwwwroot" ["SERVER_ADMIN"]=> string(11) "dds@wwd.com" ["SCRIPT_FILENAME"]=> string(29) "D:/phpwwwroot/RecJP/test2.php" ["REMOTE_PORT"]=> string(5) "23827" ["GATEWAY_INTERFACE"]=> string(7) "CGI/1.1" ["SERVER_PROTOCOL"]=> string(8) "HTTP/1.1" ["REQUEST_METHOD"]=> string(3) "GET" ["QUERY_STRING"]=> string(0) "" ["REQUEST_URI"]=> string(16) "/RecJP/test2.php" ["SCRIPT_NAME"]=> string(16) "/RecJP/test2.php" ["PHP_SELF"]=> string(16) "/RecJP/test2.php" ["REQUEST_TIME_FLOAT"]=> float(1351577790572) ["REQUEST_TIME"]=> int(-1336907668) }


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn