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

举报
迷彩 发表于 2023/07/15 23:34:13 2023/07/15
【摘要】 前言上一节我们介绍过相关的预定义数组和说明对应的作用,通过上一篇文章我们了解到预定义的数组的强大,那本文接着,逐一详细介绍每个预定义数组的详细用法。毕竟再强大的东西没有学会使用,不经过实践都是空中楼阁,废话不多说,下面通过实例来体验一下。服务器变量:$_SERVER$_SERVER是一个包含诸如头信息、路径和脚本的数组。数组的实体有web服务器创建,并不能保证所有的服务器都能产生所有的信息,...

前言

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


服务器变量:$_SERVER

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

<?php
foreach($_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' ]

<?php
foreach($_ENV as $e){
	echo $e . '<br/>';
}
?>


全局变量:$GLOBALS

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

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

<?php
print_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请求提交的参数,具体的用法我们下篇文章详细介绍,欲知后事如何请听下回分解。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。