1
2
3
4
5
6
7
8
9
10
11

PHP 5内置数组简介

发布时间:2017-07-20 08:01   发布人:毛书朋   浏览次数:6998


关联课件: 6子项目六 - PHP 5内置数组简介(点击在线预览)


6.3.1  PHP 5内置数组简介

       PHP提供了一套附加的内置数组(也称为预定义数组或预定义变量),包含来自web服务器(如果可 用)、运行环境和用户输入的数据。这些数组非常特别,它们在全局范围内自动生效。因此通常被称为自动全局变量(autoglobals)或者超全局变量(superglobals)。(PHP中没有用户自定义超全局变量的机制。)超全局变量旧的预定义数组($HTTP_*_ VARS)同时存在。自PHP 5.0.0起,长格式的PHP预定义变量可以通过设置“register_long_ arrays = off”来屏蔽。超全局变量主要有以下几个。

      1)$GLOBALS(Global变量)

      包含引用指向每个当前脚本的全局范围内有效的变量,即为由所有已定义全局变量组成的数组。该数组的索引为全局变量的变量名。

     2)$_SERVER(服务器变量)

     $_SERVER是一个包含诸如头信息(header)、路径(path)和脚本位置(script locations)的数组。数组的实体由web服务器创建。不能保证所有的服务器都能产生所有的信息;服务器可能忽略了一些信息,这与服务器的设定或者直接与当前脚本的执行环境相关联。$SERVER类似于旧数组$HTTP_SERVER_VARS(依然有效,但不提倡继续使用)。

     3)$_GET(HTTP GET变量)

     通过HTTP GET方法传递的变量组成的数组,类似于旧数组$HTTP_GET_VARS(依然有效,但不提倡继续使用)。

     4)$_POST(HTTP POST变量)

    通过HTTP POST方法传递的变量组成的数组。类似于旧数组$HTTP_POST_VARS(依然有效,但不提倡继续使用)。

     5)$_COOKIE(HTTP Cookies)

     通过HTTP cookies传递的变量组成的数组。类似于旧数组$HTTP_COOKIE_VARS(依然有效,但不提倡继续使用)。

     6)$_FILES(HTTP文件上传变量)

     通过HTTP POST方法传递的已上传文件项目组成的数组,类似于旧数组$HTTP_ POST_FILES(依然有效,但不提倡继续使用)。

     7)$_ENV(环境变量)

     从环境变量通过执行转变过来的PHP全局变量。它们中的许多都是由 PHP 所运行的系统决定,类似于旧数组$HTTP_ENV_VARS(依然有效,但不提倡继续使用)。

      8)$_REQUEST(Request变量)

     经由GET、POST和COOKIE机制提交至脚本的变量,关联数组包含$_GET、$_POST 和$_COOKIE中的全部内容。该数组并不值得信任,建议尽量少用,甚至不用。所有包含在该数组中的变量的存在与否以及变量的顺序均按照php.ini中的variables_order配置指示来定义。

     9)$_SESSION(Session变量)

     包含当前脚本中session变量的数组,类似于旧数组$HTTP_SESSION_VARS(依然有效,但不提倡继续使用)。

    10)$php_errormsg(前一个错误消息)

     $php_errormsg是包含PHP产生的上一错误消息内容的变量。该变量在发生错误并且 将track_errors选项打开(默认为关闭)后才有效。

下面几节就对常用的内置数组做详细的讲解。




  • 侯素玲 2018-01-07 09:10:26
    sort($arr,$mode)重要的排序数组函数 $mode模式为: ①SORT_REGULAR,0,默认项,常规排序,按照ASCII排序,不改变类型。 ②SORT_NEMERIC,1,把每一项作为数字来处理 ③SORT_STRING,2,把每一项作为字符串来处理 ④SORT_LOCALE_STRING,3,把每一项作为字符串来处理,基于当前区域设置(可通过setlocale()进行更改) ⑤SORT_NATURAL,4,把每一项作为字符串来处理,使用类似natsort()的自然排序 ⑥SORT_FLAG_CASE,5,可以结合(按位或)SORT_STRING或SORT_NATURAL对字符串进行排序,不区分大小写
  • 侯素玲 2018-01-07 09:11:37
    ksort($arr,$sort_flags)将数组按照键名升序排列,对应的krsort()按照键名降序排列
  • 侯素玲 2018-01-07 09:12:03
    asort($arr,$sort_flags)将数组按照值升序排列,asort()将数组按照值降序排列
  • 侯素玲 2018-01-07 09:12:39
    array_pop($arr)删除数组的最后一个元素,返回删除的元素的值,对应的array_push(array &$array, $var, $_ =null)在数组$array末尾插入$var的值也可以插入多个值,返回为$array新的个数.
  • 侯素玲 2018-01-07 09:13:20
    array_shift($arr)删除数组的第一个元素,返回删除的元素的值,对应的array_unshift(array &$array,$var,$_= null)在数组$array开头插入$var的值也可以插入多个值,返回为$array新的个数.
  • 徐新如 2018-01-09 16:13:03
    在 PHP 中,有三种数组类型: 索引数组 - 带有数字索引的数组 关联数组 - 带有指定键的数组 多维数组 - 包含一个或多个数组的数组 对于任何的类型:整型、浮点、字符串、布尔和资源,如果将一个值转换为数组,将得到一个仅有一个元素的数组(其下标为 0),该元素即为此标量的值。 如果将一个对象转换成一个数组,所得到的数组的元素为该对象的属性(成员变量),其键名为成员变量名。 如果将一个 NULL 值转换成数组,将得到一个空数组。
  • 李文杰 2018-01-09 16:45:12
    讲的有条有理
  • 潘龙飞 2018-01-09 17:36:02
    讲的很好,