php排序函数

来源:互联网 发布:腾讯云申请域名 编辑:程序博客网 时间:2024/05/29 19:22

sort() 函数按升序对给定数组的值排序。

注释:本函数为数组中的单元赋予新的键名。原有的键名将被删除。

如果成功则返回 TRUE,否则返回 FALSE。

<?php$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse");sort($my_array);print_r($my_array);?>output:
Array([0] => Cat[1] => Dog[2] => Horse)

asort() 函数对数组进行排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。

可选的第二个参数包含了附加的排序标识。

如果成功则返回 TRUE,否则返回 FALSE。

<?php$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse");asort($my_array);print_r($my_array);?> 

output:

Array([b] => Cat[a] => Dog[c] => Horse)

ksort() 函数按照键名对数组排序,为数组值保留原来的键。

可选的第二个参数包含附加的排序标志。

若成功,则返回 TRUE,否则返回 FALSE。

<?php$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse");ksort($my_array);print_r($my_array);?>

output:

Array([a] => Dog[b] => Cat[c] => Horse)
上面三函数区别在按键名、键值、是否改变索引而不同

另有uasort()、uksort()、 usort()可自定义排序

另:

<?php//$list = array('c'=>222,'b'=>333, 'a'=>111);//sort($list);//var_dump($list);////array(3) { [0]=> int(111) [1]=> int(222) [2]=> int(333) } //echo '<br>';////$list = array('c'=>222,'b'=>333, 'a'=>111);//ksort($list);//var_dump($list);////array(3) { ["a"]=> int(111) ["b"]=> int(333) ["c"]=> int(222) } //echo '<br>';//////$list = array('c'=>222,'b'=>333, 'a'=>111);//rsort($list);//var_dump($list);////array(3) { [0]=> int(333) [1]=> int(222) [2]=> int(111) } //echo '<br>';//////$list = array('c'=>222,'b'=>333, 'a'=>111);//krsort($list);//var_dump($list);////array(3) { ["c"]=> int(222) ["b"]=> int(333) ["a"]=> int(111) } //echo '<br>';////$list = array('c'=>222,'b'=>333, 'a'=>111);//asort($list);//var_dump($list);////array(3) { ["a"]=> int(111) ["c"]=> int(222) ["b"]=> int(333) } //echo '<br>';////$list = array('c'=>222,'b'=>333, 'a'=>111);//arsort($list);//var_dump($list);////array(3) { ["b"]=> int(333) ["c"]=> int(222) ["a"]=> int(111) } //echo '<br>';////echo '<hr>';//$sn_list = array('it_11', 'it_1', 'it_12', 'it_33', 'it_3', ); //sort($sn_list);//var_dump($sn_list);////array(5) { [0]=> string(4) "it_1" [1]=> string(5) "it_11" [2]=> string(5) "it_12" [3]=> string(4) "it_3" [4]=> string(5) "it_33" } ////echo '<br>';//$sn_list = array('it_11', 'it_1', 'it_12', 'it_33', 'it_3', ); //natsort($sn_list);//var_dump($sn_list);////array(5) { [1]=> string(4) "it_1" [4]=> string(4) "it_3" [0]=> string(5) "it_11" [2]=> string(5) "it_12" [3]=> string(5) "it_33" } ////$sn_list = array('it_11', 'it_01', 'it_12', 'it_33', 'it_03', ); $stus = array(array('name' => '王翦', 'age'=>66, 'height' => 170.0),array('name' => '白起', 'age'=>34, 'height' => 171.0),array('name' => '廉颇', 'age'=>65, 'height' => 178.0),array('name' => '李牧', 'age'=>46, 'height' => 168.0),);//sort($stus);//var_dump($stus);function height_sort_reverse($v1, $v2) {if($v1['height'] < $v2['height']) {return 1;} elseif ($v1['height'] > $v2['height'])  {return -1;} else {return 0;}}usort($stus, 'height_sort_reverse');echo '<pre>';var_dump($stus);//usort($stus, 'age_sort');////function age_sort($v1, $v2) {////if($v1['age'] < $v2['age'])  {//return -1;//} elseif ($v1['age'] > $v2['age']) {//return 1;//} else {//return 0;//}//}//echo '<pre>';//var_dump($stus);