首页 > 技术文章 > 数组

xiaohaihuaihuai 2018-01-07 16:51 原文

①定义数组

<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>

显示:

 

  

 

推荐阅读