/*
* usort($arr, "自定义回调函数") 对数组中的值进行比较 */ $a=array(1,5,2,6,3); //用户自定义回调函数 function dd($a, $b){ //用户自定义回调函数 if($a == $b){ return 0; //如果两个参数相等,返回0 } return ($a<$b)?-1:1; //如果第1个参数大于第2个返回1,否则-1 } usort($a, "dd"); //使用自定义函数对数组键名,按照自定义的回调函数排序 foreach($a as $key=>$value){ //循环输出排序后的键值对 echo "$key:$value<br/>"; }/*运行结果
0:1
1:22:33:54:6*/
/*
* uksort($arr, "自定义回调函数") 对数组中的键名进行排序 */ $a=array(4=>"four",3 =>"three",20 =>"twenty",10=>"ten"); //定义一个数组 //用户自定义回调函数 function cmp($a, $b){ //用户自定义回调函数 if($a == $b){ return 0; //如果两个参数相等,返回0 } return ($a<$b)?-1:1; //如果第1个参数大于第2个返回1,否则-1 } uksort($a, "cmp"); //使用自定义函数对数组键名,按照自定义的回调函数排序 foreach($a as $key=>$value){ //循环输出排序后的键值对 echo "$key:$value<br/>"; }/*运行结果
3:three
4:four10:ten20:twenty*/
/*
*sort($arr") 当本函数结束时数组单元将被从最低到最高重新安排。 【原有的键名将被删除】 */ $arr= array("one"=>1,4,5,2,3,6); sort($arr); print_r($arr); echo "<br/>";/*
运行结果
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
*/