【前言】
本文主要讲解PHP的数组相关知识点。对于PHP相关基础知识我在前面文章PHP基础教程详解里已经做过总结
【概论】
简单理解,数组是一种数/值对的简单列表
在 PHP 中, array() 函数用于创建数组,而数组有三种类型:
①索引数组 - 带有数字索引的数组
②关联数组 - 带有指定键的数组
③多维数组 - 包含一个或多个数组的数组
【列表】
(1)索引数组
1. 创建;2. 遍历
(2)关联数组
1. 创建;2. 遍历
(3)多维数组
1. 简介;2. 二维数组(元素获取;遍历)
(4)获取数组长度
(5)数组排序
【主体】
(1)索引数组
1. 创建(2种方式):
①自动分配索引
$array = array("one","two","three")②手动分配索引
$array[0] = "one"; $array[1] = "two"; $array[2] = "three";
2. 遍历
如需遍历并输出索引数组的所有值,可以使用 for 循环:
$array[0] = "one"; $array[1] = "two"; $array[2] = "three"; $arrLength=count($array); for($x=0;$x<$arrLength;$x++) { echo $array[$x]."<br>"; }
(2)关联数组
1. 创建(2种方式):
①统一分配键值
$array = array("one"=>"1","two"=>"2","three"=>"3");
②逐个分配键值
$array["one"] = "1"; $array["two"] = "2"; $array["three"] = "3";
2. 遍历
如需遍历关联数组的所有值,可以使用 foreach 循环:
$array['one'] = "1"; $array['two'] = "2"; $array['three'] = "3"; foreach($array as $x=>$value){ echo "键是".$x."---"."值是".$value."<br>"; }
(3)多维数组
1. 简介:与JS里相同,多维数组指的是包含一个或多个数组的数组。选取元素上,几维数组就需要几个索引,例如对于二维数组,需要两个索引来选取元素;对于三维数组,需要三个索引来选取元素等等
2. 二维数组
假设这个两维数组包含了四个数组,并且它有两个索引(下标):行和列。
①元素获取
如需访问 $cars 数组中的元素,必须使用两个索引(行和列):
<?php $cars = array( array("Volvo",33,20), array("BMW",17,15), array("Saab",5,2), array("Land Rover",15,11) ); echo $cars[0][0].": 库存:".$cars[0][1].", 已售:".$cars[0][2].".<br>"; echo $cars[1][0].": 库存:".$cars[1][1].", 已售:".$cars[1][2].".<br>"; echo $cars[2][0].": 库存:".$cars[2][1].", 已售:".$cars[2][2].".<br>"; echo $cars[3][0].": 库存:".$cars[3][1].", 已售:".$cars[3][2].".<br>"; ?>
②遍历
可以在 For 循环中使用另一个 For 循环,来获得 $cars 数组中的元素(我们仍需使用两个索引):
<?php $cars = array( array("Volvo",33,20), array("BMW",17,15), array("Saab",5,2), array("Land Rover",15,11) ); for ($row = 0; $row < 4; $row++) { echo "<p><b>行数 $row</b></p>"; echo "<ul>"; for ($col = 0; $col < 3; $col++) { echo "<li>".$cars[$row][$col]."</li>"; } echo "</ul>"; } ?>
(4)获取数组长度
当我们遍历索引数组时,需要获取数组长度,此时需要用到count()函数
count() 函数用于返回数组的长度(元素数),案例:
<?php $cars=array("Volvo","BMW","SAAB"); echo count($cars); ?>
(5)数组排序
数组中的元素能够以字母或数字顺序进行升序或降序排序
数组排序函数:
①sort() - 以升序对数组排序
②rsort() - 以降序对数组排序
③ksort() - 根据键,以升序对关联数组进行排序
④krsort() - 根据键,以降序对关联数组进行排序
⑤asort() - 根据值,以升序对关联数组进行排序
⑥arsort() - 根据值,以降序对关联数组进行排序
.