写点什么

【web 开发基础】PHP 中的预定义数组详解之一 (47)

作者:迷彩
  • 2022-12-24
    广东
  • 本文字数:1280 字

    阅读完需:约 4 分钟

前言

上一节我们介绍过相关的预定义数组和说明对应的作用,通过上一篇文章我们了解到预定义的数组的强大,那本文接着,逐一详细介绍每个预定义数组的详细用法。毕竟再强大的东西没有学会使用,不经过实践都是空中楼阁,废话不多说,下面通过实例来体验下。


服务器变量:$_SERVER

$_SERVER 是一个包含诸如头信息、路径和脚本的数组。数组的实体有 web 服务器创建,并不能保证所有的服务器都能产生所有的信息,服务器可能忽略了一些信息,或者产生一些其他新的信息。和其他的超全局数组一样,这是一个自动的全局变量,在所有的脚本中都有效,在函数或对象的方法中不需要使用 global 关键字访问它。在下面的实例中使用 foreach 语句,将当前 web 服务器创建的超全局数组 $_SERVER 中的信息全部遍历出来,供用户查看。下面我们通过代码感受一下:

<?phpforeach($_SERVER as $s){	echo $s.'<br/>';}?>
复制代码

执行结果如下:



$_SERVER 数组中的数据可以根据自己声明的脚本情况选择使用.在上面的代码中,使用 foreach 语句遍历出由 web 服务器创建的所有全局变量,当然也可以使用 print_r()函数直接输出数组中的全部内容.但在程序中只需要使用 $_SERVER 数组中的个别数据,通过下标单独访问即可


环境变量:$_ENV

$_ENV 数组中的内容是在 PHP 解析器运行时,从 PHP 所在服务器中的环境转变为 PHP 全局变量.它们中的许多都是由 PHP 运行的系统决定的,完整的列表是不可能的,需要查看 PHP 所在服务器的系统文档以确定其特定的环境变量.和 $_SERVER 一样,$_ENV 也是一个自动全局变量,在所有的脚本中都有效,在函数或对象的方法中不需要使用 global 关键字访问它.在下面的实例中也使用 foreach 语句,将 PHP 中能使用的 PHP 所在服务器的环境相关信息全部输出,以供用户查看.代码如下:

$_ENV 超级全局变量提供 PHP 解析所在服务器环境的有关信息。比如此数组中的变量包括:

$_ENV[ 'HOSTNAME' ]

<?phpforeach($_ENV as $e){	echo $e . '<br/>';}?>
复制代码


全局变量:$GLOBALS

包含一个引用指向每个当前脚本的全局范围内有效的变量,该数组的键名为全局变量的名称

$GLOBALS 超级全局变量数组可以认为是超级全局变量的超集,包含全局作用域内的所有变量。执行下面的代码可以查看 $GLOBALS 中所有的变量。实践出真知,我们同样通过代码的输出来看看 $GLOBALS 到底包含了那些数据:

<?phpprint_r($GLOBALS);?>
复制代码

在上面的代码中我们使用的访问链接是:http://127.0.0.1:81/demo1/(我的代码放在 demo1 文件夹下的 index.php),所以我们看不到有任何数据,如果把链接修改成带参数的会有什么变化呢,我们接着来看看下面的访问结果

访问链接:http://127.0.0.1:81/demo1/?a=123123&b=456

从执行结果可以看出,通过带参数的链接访问就能通 $GLOBALS 获取到相关的参数,比如在实际开发中我们需要知道链接中带有哪些参数,或者在程序中我需要使用到相关的参数,这时候我们就可以使用 $GLOBALS['GET']来获取参数实际的值,当然我们平时的实际开发中很少使用这个方式去获取链接中的参数,我们会使用更简单的访问方式 $_GET 来访问链接中的相关参数。如果是 post 请求我们会使用 $_POST 来获取对应的 post 请求提交的参数,具体的用法我们下篇文章详细介绍,欲知后事如何请听下回分解。

发布于: 2022-12-24阅读数: 17
用户头像

迷彩

关注

我的工作是常年写bug|公众号:编程架构之美 2020-06-18 加入

修bug的菜鸟~公众号:“互联网有啥事”已改名为“编程架构之美”

评论

发布
暂无评论
【web 开发基础】PHP 中的预定义数组详解之一 (47)_数组_迷彩_InfoQ写作社区