6.5.15 PHP多維數(shù)組的排序函數(shù)
數(shù)組的排序函數(shù)
sort -- 對(duì)數(shù)組排序(升序)
rsort -- 對(duì)數(shù)組逆向排序(降序)
ksort -- 對(duì)數(shù)組按照鍵名排序
krsort -- 對(duì)數(shù)組按照鍵名逆向排序
asort -- 對(duì)數(shù)組進(jìn)行排序并保持索引關(guān)系(關(guān)聯(lián)數(shù)組排序)
arsort -- 對(duì)數(shù)組進(jìn)行逆向排序并保持索引關(guān)系
natsort -- 用“自然排序”算法對(duì)數(shù)組排序
natcasesort -- 用“自然排序”算法對(duì)數(shù)組進(jìn)行不區(qū)分大小寫字母的排序
usort -- 使用用戶自定義的比較函數(shù)對(duì)數(shù)組中的值進(jìn)行排序
uasort -- 使用用戶自定義的比較函數(shù)對(duì)數(shù)組中的值進(jìn)行排序并保持索引關(guān)聯(lián)
uksort -- 使用用戶自定義的比較函數(shù)對(duì)數(shù)組中的鍵名進(jìn)行排序
array_multisort -- 對(duì)多個(gè)數(shù)組或多維數(shù)組進(jìn)行排序
例 1.php
<?php
$a = array("a", 10, "b", 10);
$b = array(1, 4, 3, 2);
array_multisort($a,SORT_DESC, $b, SORT_DESC);
print_r($a); // a b 10 20
echo '<br>';
print_r($b); //1 3 4 2
例 test.php
<?php
$data = array(
array("id"=>1, "name"=>"aa", "age"=>10),
array("id"=>2, "name"=>"ww", "age"=>30),
array("id"=>3, "name"=>"cc", "age"=>30),
array("id"=>4, "name"=>"dd", "age"=>"40")
);
$ages = array();
$names = array();
foreach($data as $value) {
$ages[] = $value['age'];
$names[] = $value['name'];
}
array_multisort($ages,SORT_DESC , $names, SORT_DESC ,$data);
echo '<pre>';
print_r($data);
echo '</pre>';