数组
①定义数组
<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>
显示: