数组能够在单独的变量名中存储一个或多个值。
实例
$cars=array("Volvo","BMW","SAAB");
什么是数组?
数组是特殊的变量,它可以同时保存一个以上的值。
如果您有一个项目列表(例如汽车品牌列表),在单个变量中存储这些品牌名称是这样的:
$cars1="Volvo"; $cars2="BMW"; $cars3="SAAB";
不过,假如您希望对变量进行遍历并找出特定的那个值?或者如果您需要存储 300 个汽车品牌,而不是 3 个呢?
解决方法是创建数组!
数组能够在单一变量名中存储许多值,并且您能够通过引用下标号来访问某个值。
在 PHP 中,有三种数组类型:
- 索引数组 - 带有数字索引的数组
- 关联数组 - 带有指定键的数组
- 多维数组 - 包含一个或多个数组的数组
PHP 索引数组
有两种创建索引数组的方法:
索引是自动分配的(索引从 0 开始):
$cars=array("Volvo","BMW","SAAB");
或者也可以手动分配索引:
$cars[0]="Volvo"; $cars[1]="BMW"; $cars[2]="SAAB";
实例
<?php $cars=array("Volvo","BMW","SAAB"); echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . "."; ?>
获得数组的长度 - count() 函数
count() 函数用于返回数组的长度(元素数):
实例
<?php $cars=array("Volvo","BMW","SAAB"); echo count($cars); ?>
实例
<?php $cars=array("Volvo","BMW","SAAB"); $arrlength=count($cars); for($x=0;$x<$arrlength;$x++) { echo $cars[$x]; echo "<br>"; } ?>
PHP 关联数组
关联数组是使用您分配给数组的指定键的数组。
有两种创建关联数组的方法:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
或者:
$age['Peter']="35"; $age['Ben']="37"; $age['Joe']="43";
随后可以在脚本中使用指定键:
实例
<?php $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); echo "Peter is " . $age['Peter'] . " years old."; ?>
遍历关联数组
如需遍历并输出关联数组的所有值,您可以使用 foreach 循环,就像这样:
实例
<?php $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "<br>"; } ?>
数组中的元素能够以字母或数字顺序进行升序或降序排序。
PHP - 数组的排序函数
在本节中,我们将学习如下 PHP 数组排序函数:
- sort() - 以升序对数组排序
- rsort() - 以降序对数组排序
- asort() - 根据值,以升序对关联数组进行排序
- ksort() - 根据键,以升序对关联数组进行排序
- arsort() - 根据值,以降序对关联数组进行排序
- krsort() - 根据键,以降序对关联数组进行排序
PHP 多维数组
PHP - 多维数组
多维数组指的是包含一个或多个数组的数组。
PHP 能理解两、三、四或五级甚至更多级的多维数组。不过,超过三级深的数组对于大多数人难于管理。
注释:数组的维度指示您需要选择元素的索引数。
- 对于二维数组,您需要两个索引来选取元素
- 对于三维数组,您需要三个索引来选取元素
PHP - 两维数组
两维数组是数组的数组(三维数组是数组的数组的数组)。
首先,让我们看看下面的表格:
品牌 | 库存 | 销量 |
---|---|---|
Volvo | 33 | 20 |
BMW | 17 | 15 |
Saab | 5 | 2 |
Land Rover | 15 | 11 |
我们能够在两维数组中存储上表中的数据,就像这样:
$cars = array ( array("Volvo",22,18), array("BMW",15,13), array("Saab",5,2), array("Land Rover",17,15) );
现在这个两维数组包含了四个数组,并且它有两个索引(下标):行和列。
如需访问 $cars 数组中的元素,我们必须使用两个索引(行和列):
实例
<?php 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 for ($row = 0; $row < 4; $row++) { echo "<p><b>Row number $row</b></p>"; echo "<ul>"; for ($col = 0; $col < 3; $col++) { echo "<li>".$cars[$row][$col]."</li>"; } echo "</ul>"; } ?>
提示:$row 行数 , $col列
来自w3school