php third day 数组相关 013.07.05

一数组概述,

1.)数组的本质,管理和操作一组数据,成批的处理

2.)是复合类型的数据

3.)可以存储任意长度、任意类型的数据,

二 数组的分类

1.)一维数组,二维。。。。。多维

2.)php中的数组

1.)索引数组   下标是顺序的整数作为索引    $user[0] = 1; $user[1] = 1; $user[2] = 1; $user[3] = 1;

2.)关联数组    下标是字符串作为索引(相当于hash) $user["id"] = 1; $user["age"] = 10;

三 数组的的声明

1.)直接维数组元素赋值   $user[0] = 1;$user[] = 2;

a.如果没给出下标 就从零开始顺序索引,

b.如果给出了一个下标,那后边赋值就从最大的下标开始加1

c.如果出现前边的下标,读取则正常取值,赋值操作则是为对应下标改值

d.混合声明时索引和关联互不影响;

2.)使用array()函数  

a.默认是索引数组 $user = array(1,"zhangsan","nan");

b.如果要为 索引数组和关联数组 指定下标  $user = array("id" =>1,"name" => "zhangsan","nan");为指定下标的从零或者最大下标开始+1

c.多个成员之间使用“,”分割

多维数组声明  $user = array(

array("name","sex"),

array(1,2,2),

array(5,5,5,),

);

$user[0][1]的值是  “sex”

多维数组 直接复制法 $user[0][0] = 1;

未指定下标的时候会自动加1

3.)使用其他函数赋值

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  数 组 的 遍 历   ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

数组的遍历

1.)使用for循环遍历

a.PHP中这不是首选的方法

b.只能循环索引数组,且索引下标是连续的

2.)foreach()循环遍历数组

a.循环的次数由数组元素的个数来决定

b.每次循环都会将元素赋给后边的变量

foreach($user as $value){ echo $value;} 这样就会将数组每个元素输出

foreach($user as $key => $value){echo $key ."=>".$value;}这样可以得到下标$key和元素$value

3.)while(), list()      each()

each()函数        $user = array("name" => "zhang","sex" => "nan");

a.需要一个数组作为参数

b.返回值也是一个数组

c.返回的值是array([1] = >"zhang", [value] => "zhang",[0] => "name",[key] => "name")下标是固定的   1,value对应的是值,0,key对应的是下标

d.默认当前元素是第一个元素

e.没执行一次就将当前元素向后移

f.如果已经没有元素可取了,就返回false

list()函数         list($name,$sex,$age) = array("zhang","nan".20);  之后就可以直接使用$name...这些变量了

a.list() = array(); 需要将一个数组赋值给这个函数

b.数组中的元素个数要和list()中的参数个数相同,数组中的元素值赋给list中的参数,并将每个参数转为变量

c.list()只能接受索引数组

d.按索引的下表顺序给参数赋值

三个函数联合使用

while(list($key,$value)= each($user)){

echo "$key ==>  $value";

}

当while循环结束的时候,each函数就已经将数组的下标指向了最后一个的下一个(不存在的东西)

所以如果再次循环$user会直接失败

使用数组的内部指针控制函数

next($user)

prev($user)//指向上一个

reset($user)//指向第一个

end($user)//指向最后一个

current($user)//取当前元素的值

key($user) //取当前元素的下标


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  预 定 义 数 组   ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

预定义数组,。。。。。自动全局变量

1.)包含了来自web服务器(apache的环境,操作系统的环境),客户端(提交的表单),运行环境,用户输入的数据相关的一些数组

2.)全局范围内自动生效,可以直接使用

3.)用户不能自定义这些数组

$_GET //经由URL请求提交到脚本的变量

$_POST //经由http post请求提交到脚本的变量

$_REQUEST //经由 GET, POST 和COOKIE 机制提交到脚本的变量,因此该数组并不值得信任,尽量不使用

$_FILES //经由http post文件上传而提交至脚本的变量

$_COOKIE

$_SESSION

$_ENV //执行环境提交至脚本

$_SERVER //变量由web服务器设定的,或者当前脚本的执行环境相关联

$GLOBALS //只要是当前脚本有效地变量都在这里,数组下标 为全局变量的名称

保存到$_GET $_POST中的数据可以直接当做变量使用。。。但是,这种方式可以在改变php配置文件中 register_globals = off来关掉

















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值