数组
①定义数组
<body> <?php $a=array();//定义空数组 $a=array(1,2,3,4,5);//给数组赋值,索引从0开始. ?> </body>
②关联数组
<body> <?php $a=array("code"=>"p001","name"=>"张三"); echo $a["name"]; echo $a["code"]; ?> </body>
显示:
③遍历数组
1 for循环遍历
<body> <?php $arr=array("p001","张三",1,"n001","1988-2-3"); for($i=0;$i<count($arr);$i++){ //echo $arr[$i] ,"<br>";(两种写法都可以) echo "{$arr[$i]}<br>"; } ?> </body>
显示:
2 foreach遍历
<body> <?php $arr=array("p001","张三",1,"n001","1988-2-3"); foreach($arr as $v){ echo"{$v}<br>"; } ?> </body>
显示:
<body> <?php $arr=array("p001","张三",1,"n001","1988-2-3"); foreach($arr as $k=>$v){ echo"{$k}-{$v}<br>"; } ?> </body>
显示:
④list()和each()函数配合遍历数组
<body> <?php $arr=array("p001","张三",1,"n001","1988-2-3"); $al=each($arr);//取出数组当前指针指向元素的内容交给另一个数组 list($a,$b,$c)=$arr;//前数组里面的元素赋值给一组变量 var_dump($a); ?> </body>
显示:
⑤指针遍历
echo key($arr);//取当前指针指向元素的索引 echo current($arr);//取当前指针指向元素的值 next($arr);//将指针往下调一个 prev($arr);//将指针往上调一个 end($arr);//将指针指向最后一个元素 reset($arr);//将指针位置重置
<body> <?php $arr=array("p001","张三",1,"n001","1988-2-3"); do{ echo key($arr); echo current($arr),"<br>"; } while(next($arr)) ?> </body>
显示:
二维数组
<body> <?php $arr=array( array(1,2,3), array(4,5,6), array(7,8,9) ); echo$arr[1][1]; ?> </body>
输出结果:5 (取arr索引为1的数组中的索引为1的值)
<body> <?php $arr=array( array(1,2,3), array(4,5,6), array(7,8,9) ); foreach($arr as $v){ echo"{$v[0]}-{$v[1]}-{$v[2]}<br>"; } ?> </body>
显示: 显示的是全部的值
嵌套
<body> <?php $arr=array( array(1,2,3), array(4,5,6), array(7,8,9) ); foreach($arr as $v){ foreach($v as $v1){ echo"{$v1}<br>"; } } ?> </body>
显示:
例子:
<body> <?php $arr=array( array("n001","汉族"), array("n002","回族"), array("n003","满族"), array("n004","维吾尔族"), ); echo"<select>"; foreach($arr as $v){ echo"<option>{$v[1]}</option>"; } echo"</select>"; ?> </body>
输出:
常用函数
<body> <?php $arr=array(1,2,3,4,5); echo in_array(3,$arr);//判断3这个值是否存在于数组中 ?> </body>
输出:1 存在就显示1,不存在显示0
<body> <?php $arr=array(1,2,3,4,5); var_dump(array_reverse($arr));//翻转数组 ?> </body>
显示:
去重
<body> <?php $arr=array(1,2,2,3,3,4,5); var_dump(array_unique($arr)); ?> </body>
显示:
删除数组元素
<body> <?php $arr=array(1,2,2,3,3,4,5); unset($arr[1]);//删除索引为1的元素 var_dump($arr); ?> </body>
显示:
重新索引
<body> <?php $arr=array(1,2,2,3,3,4,5); var_dump(array_values($arr)); ?> </body>
显示:
追加元素:
<body> <?php $arr=array(1,2,2,3,3,4,5); array_push($arr,"100");//加了一个100的元素 var_dump($arr); ?> </body>
显示: