PHP数组
一、定义数组
关键词定义 $arr = array(11,2,3,4,5);
赋值定义 $arr[0]=1;$arr[1]=2;
关联数组,自定义索引的数组,
$arr = array("code"=>"p001","name"=>"张三");
取值方法,$arr["name"];
二、遍历数组,设数组
$arr = array("p001","张三",1,"n001","1987-08-09");
要将数组内元素依次逐行排列出来,
1.for循环遍历,只能遍历索引数组
for($i=0;$i<count($arr);$i++){ ehco "{$arr[$i]<br>}"; }
2.foreach循环遍历,不仅可以遍历索引数组,还可以遍历关联数组
foreach($arr as $v){ //每一次循环都把元素的值交给变量$v ehco "{$v}<br>" }
如果需要索引值
foreach($arr as $k=>$v){ //每一次循环都把索引值交给变量$k,把元素的值交给变量$v ehco "{$k}-{$v}<br>" }
3.list()和each()函数配合遍历数组,
$a1 = each($arr); 取出数组当前指针指向元素的内容交给一个小数组,
list($a,$b,$c) = $arr; 将数组里的元素赋值给一组变量,
while(list($k,$v)=each($arr)){ //用while循环依次取出每一个元素的索引和值 echo "{$k}-{$v}<br>"; }
4.指针遍历,
key($arr); 取当前指针指向元素的索引
current($arr); 取当前指针指向元素的值
next($arr); 指针往下调一个
prev($arr); 指针往上调一个
end(); 指针指向最后一个元素
reset(); 指针重置指向第一个
do{ echo key($arr); echo current($arr); }while(next($arr)) //do while循环先执行代码再判断条件进入循环
三、二维数组,指数组里面的元素包含数组,如
$arr = array( array(1,2,3), array(4,5,6), array(7,8,9) ); //数组里的三个元素是三个小数组
取值5 方法 $arr[1][1],先取第二个数组再取其第二的元素,
遍历二维数组需要foreach嵌套,
foreach($arr as $v){ //$v代表每一个小数组 foreach($v as $v1){ //$v1代表$v中每一个元素 echo "{$v1}<>br"; } }
四、常用函数,设数组
$arr = array(1,2,3,4,5);
in_array(6,$arr); //判断6是否在数组$arr中,返回true或false array_reverse($arr); //翻转数组, array_unique($arr); //去重, unset($arr[1]); //删除数组元素 array_values //重新索引,索引重新排列 array_push($arr,6) //追加元素,追加的元素在最后面