Heim  >  Artikel  >  Backend-Entwicklung  >  15 PHP 全局变量 - 超全局变量

15 PHP 全局变量 - 超全局变量

WBOY
WBOYOriginal
2016-08-08 09:19:31902Durchsuche

超全局变量 在 PHP 4.1.0 中引入,是在全部作用域中始终可用的内置变量。


PHP 全局变量 - 超全局变量

PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。

这些超全局变量是:

<code><span>$GLOBALS</span><span>$_SERVER</span><span>$_REQUEST</span><span>$_POST</span><span>$_GET</span><span>$_FILES</span><span>$_ENV</span><span>$_COOKIE</span><span>$_SESSION</span></code>

$GLOBALS — 引用全局作用域中可用的全部变量

$GLOBALS 这种全局变量用于在 PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)。

PHP 在名为 $GLOBALS[index] 的数组中存储了所有全局变量。变量的名字就是数组的键。

下面的例子展示了如何使用超级全局变量 $GLOBALS:
实例

<code><span><span><?php </span><span>$x</span> = <span>75</span>; 
<span>$y</span> = <span>25</span>;

<span><span>function</span><span>addition</span><span>()</span> {</span><span>$GLOBALS</span>[<span>'z'</span>] = <span>$GLOBALS</span>[<span>'x'</span>] + <span>$GLOBALS</span>[<span>'y'</span>]; 
}

addition(); 
<span>echo</span><span>$z</span>; 
<span>?></span></span></span></code>

PHP $_SERVER

$_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息。

下面的例子展示了如何使用 $_SERVER 中的某些元素:
实例

<code><span><span><span><?php </span><span>echo</span><span>$_SERVER</span>[<span>'PHP_SELF'</span>];
<span>echo</span><span>"<br>"</span>;
<span>echo</span><span>$_SERVER</span>[<span>'SERVER_NAME'</span>];
<span>echo</span><span>"<br>"</span>;
<span>echo</span><span>$_SERVER</span>[<span>'HTTP_HOST'</span>];
<span>echo</span><span>"<br>"</span>;
<span>echo</span><span>$_SERVER</span>[<span>'HTTP_REFERER'</span>];
<span>echo</span><span>"<br>"</span>;
<span>echo</span><span>$_SERVER</span>[<span>'HTTP_USER_AGENT'</span>];
<span>echo</span><span>"<br>"</span>;
<span>echo</span><span>$_SERVER</span>[<span>'SCRIPT_NAME'</span>];
<span>?></span></span></span></span></code>

下表列出了您能够在 $_SERVER 中访问的最重要的元素:


PHP $_REQUEST

PHP $_REQUEST 用于收集 HTML 表单提交的数据。

<code>下面的例子展示了一个包含输入字段及提交按钮的表单。当用户通过点击提交按钮来提交表单数据时, 表单数据将发送到 <form> 标签的 action 属性中指定的脚本文件。在这个例子中,我们指定文件本身来处理表单数据。如果您需要使用其他的 PHP 文件来处理表单数据,请修改为您选择的文件名即可。然后,我们可以使用超级全局变量 <span>$_REQUEST</span> 来收集 input 字段的值:</form></code>

实例

<code><span>html</span>><span>body</span>><span>form</span><span>method</span>=<span>"post"</span><span>action</span>=<span>"<?php echo $_SERVER['PHP_SELF'];?>"</span>>
Name: <span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"fname"</span>><span>input</span><span>type</span>=<span>"submit"</span>><span><span>form</span>></span><span><span><?php </span><span>$name</span> = <span>$_REQUEST</span>[<span>'fname'</span>]; 
<span>echo</span><span>$name</span>; 
<span>?></span></span><span><span>body</span>></span><span><span>html</span>></span></span></code>

PHP $_POST

<code>PHP $_POST 广泛用于收集提交 <span><span>method</span>="<span>post</span>" 的 <span>HTML</span> 表单后的表单数据。$_<span>POST</span> 也常用于传递变量。

下面的例子展示了一个包含输入字段和提交按钮的表单。当用户点击提交按钮来提交数据后,表单数据会发送到 form</span>> 标签的 <span>action</span> 属性中指定的文件。在本例中,我们指定文件本身来处理表单数据。如果您希望使用另一个 <span>PHP</span> 页面来处理表单数据,请用更改为您选择的文件名。然后,我们可以使用超全局变量 $_<span>POST</span> 来收集输入字段的值:</code>

实例

<code><span>html</span>><span>body</span>><span>form</span><span>method</span>=<span>"post"</span><span>action</span>=<span>"<?php echo $_SERVER['PHP_SELF'];?>"</span>>
Name: <span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"fname"</span>><span>input</span><span>type</span>=<span>"submit"</span>><span><span>form</span>></span><span><span><?php </span><span>$name</span> = <span>$_POST</span>[<span>'fname'</span>]; 
<span>echo</span><span>$name</span>; 
<span>?></span></span><span><span>body</span>></span><span><span>html</span>></span></span></code>

PHP $_GET

<code>PHP $_GET 也可用于收集提交 HTML 表单 (<span><span>method</span>="<span>get</span>") 之后的表单数据。

$_<span>GET</span> 也可以收集 <span>URL</span> 中的发送的数据。</span></code>

假设我们有一张页面含有带参数的超链接:

<code><span>html</span>><span>body</span>><span>a</span><span>href</span>=<span>"test_get.php?subject=PHP&web=W3school.com.cn"</span>>测试 $GET<span><span>a</span>></span><span><span>body</span>></span><span><span>html</span>></span></code>
<code>当用户点击链接 <span>"Test <span>$GET</span>"</span>,参数 <span>"subject"</span> 和 <span>"web"</span> 被发送到 <span>"test_get.php"</span>,然后您就能够通过 <span>$_GET</span> 在 <span>"test_get.php"</span> 中访问这些值了。

下面的例子是 <span>"test_get.php"</span> 中的代码:
实例</code>
<code><span>html</span>><span>body</span>><span><span><?php </span><span>echo</span><span>"Study "</span> . <span>$_GET</span>[<span>'subject'</span>] . <span>" at "</span> . <span>$_GET</span>[<span>'web'</span>];
<span>?></span></span><span><span>body</span>></span><span><span>html</span>></span></span></code>

以上就介绍了15 PHP 全局变量 - 超全局变量,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn