php有两种数组分别为索引数组和关联数组,其声明方式类似,主要有以下三种声明方式:
声明方式:
array();可以声明任何数组,看下面例子
<?php
$temp= array(1,2,3);
print_r($temp);//这是打印数组的方法
/**
输出的结果,Array
(
[0] => 1
[1] => 2
[2] => 3
)
**/
$temp1 = array(1,2,"name"=>"php",1=>5);
print_r($temp1);
/**
输出的结果如下,相同角标赋值时,后面会覆盖前面的值
Array
(
[0] => 1
[1] => 5
[name] => [php]
)
**/
$arr[] = 1;//快速创建数组
$arr[1] = 1;
$arr["name"] = "php";
print_r($arr);
/**
输出:Array ( [0] => 1 [1] => 1 [2] => 3 [3] => 1 [name] => php )
**/
$arr2 = array(array(1,2,3),array("name"=>"php","type"=>"text"));// 定义二维数组
// 遍历数组可foreach(数组 as $key=>$val)、指针(current(数组)、next(数组)、pre(数组)、key(数组))、list($val1,$val2);
// 数组运算时,使用"+"时,如果元素前数组已定义,以前面的为准,而不是后面数组覆盖前面
注意点:
1. null做数据key时会被转成空串;
2. 新增一个值时数组下标为当前最大下标加1,如果下标最大值为负数,则新增未指定索引的元素时,索引为0;
3. 使用指针遍历数组时,如越界,则current()返回的值为false。
$_POST:接收表单以POST发送的数据
$_GET:接收表单以GET方式发送的数据
$_REQUEST:$_GET+$_POST+$_COOKIE
$_FILES:HTTP文件上传变量
$_SERVER:服务器与执行环境变量
$_ENV:环境变量
$_SESSION:会话变量
$_COOKIE:http cookie
$_GLOBALE:预定义变量的总集合
$php_errormsg:前一个错误信息(只在错误发生的作用域内可用,需要开启php.ini里track_error配置项)