天天看点

PHP之数组一、数组二、数组的游标操作三、foreach四、each与list五、下标引号的选择

一、数组

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.总结:
  数组类型的索引,不必加引号;
  字符串类型必加,而且优先加单引号。