在PHP中,数组包含两种类型的数组:
数字索引数组 指其key为数字
关联数组 使用字符串作为其key
数组的声明
数组的声明和初始化使用函数array(),其格式如下:
$a = array()
数字索引的数组
<?php
$a = array("a", "b", "c");
print_r($a);
?>
输出结果为:
Array
(
[0] => a
[1] => b
[2] => c
)
关联数组,使用运算符=>连接key和value
<?php
$a = array("a"=>"A", "b"=>"B", "c"=>"C");
print_r($a);
?>
输出结果为:
Array
(
[a] => A
[b] => B
[c] => C
)
获取数组得长度
count() 函数用于返回数组的长度(元素的数量
<?php
$arr=array("1","2","3");
echo count($arr); //3
?>
遍历数组元素
可以使用foreach遍历数组中的元素,如下:
<?php
$a = array("a"=>"A", "b"=>"B", "c"=>"C");
foreach ($a as $value){
echo $value;
}
?>
遍历key值 和value值
<?php
$a = array("a"=>"A", "b"=>"B", "c"=>"C");
foreach ($a as $key=>$value){
echo $key
echo $value;
}
?>
关联数组值 能用foreach遍历数组中的元素
遍历数字索引数组还可以使用for循环
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++)
{
echo $cars[$x];
echo "<br>";
}
数组得排序
sort() - 对数组进行升序排列
$cars=array("Volvo","BMW","Toyota");
print_r($cars);
sort($cars);
echo "<br>";
print_r($cars);
rsort() - 对数组进行降序排列
$cars=array("Volvo","BMW","Toyota");
print_r($cars);
rsort($cars);
echo "<br>";
print_r($cars);
这里需要注意关联数组使用sort()还有rsort() key值会被改变成数值变成数字索引数组
$cars1=array("Peter"=>"Volvo","Ben"=>"BMW","Joe"=>"Toyota");
print_r($cars1);
sort($cars1);
echo "<br>";
print_r($cars1);
asort() - 根据关联数组的值,对数组进行升序排列
$age=array("Peter"=>"Volvo","Ben"=>"BMW","Joe"=>"Toyota");
asort($age);
print_r($age);
arsort() - 根据关联数组的值,对数组进行降序排列
$age=array("Peter"=>"Volvo","Ben"=>"BMW","Joe"=>"Toyota");
arsort($age);
print_r($age);
ksort() - 根据关联数组的键,对数组进行升序排列
$age=array("Peter"=>"Volvo","Ben"=>"BMW","Joe"=>"Toyota");
ksort($age);
print_r($age);
krsort() - 根据关联数组的键,对数组进行降序排列
$age=array("Peter"=>"Volvo","Ben"=>"BMW","Joe"=>"Toyota");
krsort($age);
print_r($age);
总结可得:
排序是比较首字母得编码,编码相同比较第二子数得编码 升序是编码小到大得排序 降序是编码大到小排序