PHP 中定义了很多数组排序的函数,这里主要介绍数组排序函数有:
- sort() - 以升序对数组排序
- sort() - 以升序对数组排序
- rsort() - 以降序对数组排序
- asort() - 根据值,以升序对关联数组进行排序
- ksort() - 根据键,以升序对关联数组进行排序
- arsort() - 根据值,以降序对关联数组进行排序
sort()数组按首字母或数字升序
<?php
$cars = array('Volvo', 'BMW', 'SAA');
$age = array(43,32,2,3,43,32,44);
sort($cars); // 调用排序函数
sort($age);
for ($i = 0; $i < count($cars); $i++) {
echo "$cars[$i]" . ',';
}
// 输出:2,3,32,32,43,43,44
for ($j = 0; $j < count($age); $j++) {
echo "$age[$j]" . ',';
}
// 输出:BMW,SAA,Volvo
?>
rsort()数组按首字母或数字降序
<?php
$cars = array('Volvo', 'BMW', 'SAA');
$age = array(43,32,2,3,43,32,44);
rsort($cars); // 调用排序函数,按首字母降序
rsort($age);// 按数值大小进行降序
for ($i = 0; $i < count($cars); $i++) {
echo "$cars[$i]" . ',';
}
// 输出:44,43,43,32,32,3,2
for ($j = 0; $j < count($age); $j++) {
echo "$age[$j]" . ',';
}
// 输出:Volvo,SAA,BMW
?>
asort()根据值对数组进行升序排序
<?php
$arr = array('A' => 3, 'B' => 4, 'C' => 1);
asort($arr); // 调用排序函数,按值进行升序
foreach ($arr as $key => $value) {
echo "Key = " . $key . ' value = ' . $value . '<br />';
}
// 输出:
//Key = C value = 1
//Key = A value = 3
//Key = B value = 4
?>
ksort() 根据键对数组进行升序排序
<?php
$arr = array('A' => 3, 'B' => 4, 'C' => 1);
ksort($arr); // 调用函数,根据键对数组进行升序排序
foreach ($arr as $key => $value) {
echo "Key = " . $key . ' value = ' . $value . '<br />';
}
// 输出:
//Key = A value = 3
//Key = B value = 4
//Key = C value = 1
?>
arsort()根据值对数组进行降序排序
<?php
$arr = array('A' => 3, 'B' => 4, 'C' => 1);
arsort($arr); // 调用函数,根据值对数组进行降序排序
foreach ($arr as $key => $value) {
echo "Key = " . $key . ' value = ' . $value . '<br />';
}
// 输出:
//Key = B value = 4
//Key = A value = 3
//Key = C value = 1
?>
krsort() 根据键对数组进行降序排序
<?php
$arr = array('A' => 3, 'B' => 4, 'C' => 1);
krsort($arr); // 调用函数,根据键对数组进行降序排序
foreach ($arr as $key => $value) {
echo "Key = " . $key . ' value = ' . $value . '<br />';
}
// 输出:
//Key = C value = 1
//Key = B value = 4
//Key = A value = 3
?>