PHP 二维数组排序

PHP 二维数组排序

1 sort()和rsort()

1.1 sort()

  • 函数对数组根据值进行升序排序;
  • 为数组中的单元赋予新的键名,原有的键名将被删除;
  • 如果成功则返回 TRUE,否则返回 FALSE;
$cars=array('a'=>"Volvo",2=>"BMW",'b'=>"Ford",6=>"Chevrolet",5=>"MG");
sort($cars);
var_dump($cars);
array(5) {
  [0]=>
  string(3) "BMW"
  [1]=>
  string(9) "Chevrolet"
  [2]=>
  string(4) "Ford"
  [3]=>
  string(2) "MG"
  [4]=>
  string(5) "Volvo"
}

1.2 rsort()

  • 对数组根据值进行降序排序;
  • 为数组中的单元赋予新的键名,原有的键名将被删除;
  • 如果成功则返回 TRUE,否则返回 FALSE;
$cars=array('a'=>"Volvo",2=>"BMW",'b'=>"Ford",6=>"Chevrolet",5=>"MG");
rsort($cars);
var_dump($cars);
array(5) {
  [0]=>
  string(5) "Volvo"
  [1]=>
  string(2) "MG"
  [2]=>
  string(4) "Ford"
  [3]=>
  string(9) "Chevrolet"
  [4]=>
  string(3) "BMW"
}

2 asort()和arsort()

2.1 asort()

  • 函数对数组根据值进行升序排序;
  • 原有对应的键名不变;
  • 如果成功则返回 TRUE,否则返回 FALSE;
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43", "Mike"=>'30', "Peak"=>"28");
asort($age);
var_dump($age);
array(5) {
  ["Peak"]=>
  string(2) "28"
  ["Mike"]=>
  string(2) "30"
  ["Bill"]=>
  string(2) "35"
  ["Steve"]=>
  string(2) "37"
  ["Peter"]=>
  string(2) "43"
}

2.2 arsort()

  • 函数对数组根据值进行降序排序;
  • 原有对应的键名不变;
  • 如果成功则返回 TRUE,否则返回 FALSE;
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43", "Mike"=>'30', "Peak"=>"28");
arsort($age);
var_dump($age);
array(5) {
  ["Peter"]=>
  string(2) "43"
  ["Steve"]=>
  string(2) "37"
  ["Bill"]=>
  string(2) "35"
  ["Mike"]=>
  string(2) "30"
  ["Peak"]=>
  string(2) "28"
}

3 ksort()和krsort()

3.1 ksort()

  • 函数对数组根据键进行升序排序;
  • 原有对应的键名和值不变;
  • 如果成功则返回 TRUE,否则返回 FALSE;
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43", "Mike"=>'30', "Peak"=>"28");
ksort($age);
var_dump($age);
array(5) {
  ["Bill"]=>
  string(2) "35"
  ["Mike"]=>
  string(2) "30"
  ["Peak"]=>
  string(2) "28"
  ["Peter"]=>
  string(2) "43"
  ["Steve"]=>
  string(2) "37"
}

3.2 krsort()

  • 函数对数组根据键进行降序排序;
  • 原有对应的键名和值不变;
  • 如果成功则返回 TRUE,否则返回 FALSE;
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43", "Mike"=>'30', "Peak"=>"28");
krsort($age);
var_dump($age);
array(5) {
  ["Steve"]=>
  string(2) "37"
  ["Peter"]=>
  string(2) "43"
  ["Peak"]=>
  string(2) "28"
  ["Mike"]=>
  string(2) "30"
  ["Bill"]=>
  string(2) "35"
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PeakXin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值