本文主要内容来自w3cschool
在 PHP 中,有三种数组类型:
索引数组 - 带有数字索引的数组
关联数组 - 带有指定键的数组
多维数组 - 包含一个或多个数组的数组
PHP 索引数组
有两种创建索引数组的方法:
索引是自动分配的(索引从 0 开始):
$cars=array("Volvo","BMW","SAAB");
或者也可以手动分配索引:
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="SAAB";
下面的例子创建名为 $cars 的索引数组,为其分配三个元素,然后输出包含数组值的一段文本:
实例
<?php
$cars=array("Volvo","BMW","SAAB");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
获得数组的长度 - 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 关联数组(可以理解为js里面的对象数组)
关联数组是使用您分配给数组的指定键的数组。
有两种创建关联数组的方法:
$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() - 根据键,以降序对关联数组进行排序
对数组进行升序排序 - sort()
下面的例子按照字母升序对数组 $cars 中的元素进行排序:
<?php $cars=array("Volvo","BMW","SAAB"); sort($cars); ?>
下面的例子按照数字升序对数组 $numbers 中的元素进行排序:
<?php $numbers=array(3,5,1,22,11); sort($numbers); ?>
对数组进行降序排序 - rsort()
下面的例子按照字母降序对数组 $cars 中的元素进行排序:
<?php $cars=array("Volvo","BMW","SAAB"); rsort($cars); ?>
下面的例子按照数字降序对数组 $numbers 中的元素进行排序:
<?php $numbers=array(3,5,1,22,11); rsort($numbers); ?>
根据值对数组进行升序排序 - asort()
下面的例子根据值对关联数组进行升序排序:
<?php $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); asort($age); ?>
根据键对数组进行升序排序 - ksort()
下面的例子根据键对关联数组进行升序排序:
<?php $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); ksort($age); ?>
根据值对数组进行降序排序 - arsort()
下面的例子根据值对关联数组进行降序排序:
<?php $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); arsort($age); ?>
根据键对数组进行降序排序 - krsort()
下面的例子根据键对关联数组进行降序排序:
<?php $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); krsort($age); ?>