php数组遍历和排序

在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);

在这里插入图片描述

总结可得:
排序是比较首字母得编码,编码相同比较第二子数得编码 升序是编码小到大得排序 降序是编码大到小排序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值