//建立一個$arr的二維數組
$arr=array(
array('name'=>'e','age'=>5),
array('name'=>'b','age'=>2),
array('name'=>'a','age'=>1),
array('name'=>'c','age'=>3),
array('name'=>'d','age'=>4),
);介紹倆函數 strnatcmp 和 strncmp
//比較字符串倆個大小的函數
echo strnatcmp("ac",'ab')."
";//輸出1
echo strncmp("ac",'ab',1)."
";//輸出0 因為這個函數有第三個參數 限制了僅比較1位 也就是只比較a //使用 usort 來進行排序 使用用戶自定義的比較函數對數組中的值進行排序
//按 鍵值 name 大小來排序
usort($arr,function($a,$b){ return strnatcmp($a['name'],$b['name']);// 直接比較 二維數組的 name字段 進行 asc排序 });
dump($arr); //按鍵值 name 的長度排序
usort($arr,function ($a,$b)
{ if(strlen($a['name'])==strlen($b['name'])) return 0; return (strlen($a['name']) > strlen($b['name']))?1:0;
});
dump($arr);
function dump($data){
echo "";
print_r($data);
echo "
";
}sort 對數組排序一般適用于一維索引數組,不會保持索引
rsort 對數組逆向排序 和sort用法一致
asort 對數組進行排序并保持索引關系對值進行排序,一般適用于一維數組,保持索引關系
arsort 對數組進行逆向排序并保持索引關系和asort用法一致
ksort 對數組按照鍵名排序
krsort 對數組按照鍵名逆向排序
關鍵詞:



