//建立一个$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 对数组按照键名逆向排序
关键词:



