一、数组
1.概念:数组体现的是“键与值的对应”,数组就是键值对的集合。
2.二维数组:PHP中有8种变量类型,数组可以容纳PHP中的所有合法类型,即8种都可以,也就意味着单元的值还可以是数组,
这种情况下称为“二维数组”。
3.基本概念:PHP语言非常灵活,在C语言、js、java中,数组的索引只能是数字,而在PHP中,key/index可以是字符串,也
可以是数字。如果索引是纯数字,这种数组称为“索引数组”,否则称为“关联数组”。
二、数组的游标操作
1.current
“当前”的意思,该函数是取出数组内部指针指向的单元的值。
2.key
该函数是取出数组内部指针指向的单元的“键”。
3.next
“下一个”,意思是把数组内部的指针往尾部移动一个单元。
4.prev
该函数把指针往头部移动一个单元。
5.end
该函数把指针指向数组的最后一个单元。
6.reset
该函数可以重置数组的指针的位置,使数组的指针归0,指向开头处。
三、foreach
1.当我们需要对数组内部的单元进行循环操作时,便需用到foreach。foreach有两种语法:
foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement
2.第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前
移一步(因此下一次循环中将会得到下一个单元)。
第二种格式做同样的操作,只除了当前单元的键名也会在每次循环中被赋给变量 $key。
3.当 foreach 开始执行时,数组内部的指针会自动指向第一个单元。这意味着不需要在 foreach 循环之前调用 reset()。
四、each与list
1.each取出指针所指单元的键和值,组合成一个数组返回,并把指针往尾部移动。如果取不出来单元,则返回false。
2.each返回的数组的格式如下:
Array
(
[1] =>单元值
[value] =>单元值
[0] =>单元的键
[key] =>单元的键
)
3.list能够给多个变量赋值,即把数组的多个单元分别赋给多个值。
4.list的运行机制:
eg:list($a,$b,$c)=array(1=>2,2=>3,0=>1);
首先:不要管右边的数组,看List里面的变量,从左到右应该是 $a = arr[0] $b=arr[1] $c=arr[3]
然后:从右到左开始赋值,赋值的顺序是 $c=arr[3] $b=arr[1] $a=arr[0]
五、下标引号的选择
1.对于数字的索引值,不必加单双引号,比如1加了单双引号后为"1",则需要把"1"转成整型1来寻找该单元,影响了效率。
2.对于字符串的索引值,不加单双引号时,流程上先理解成常量,如果没有再当成字符串,效率肯定低。
3.总结:
数组类型的索引,不必加引号;
字符串类型必加,而且优先加单引号。