PHP:数组的排序函数:

数组的排序函数:
1.sort();
不带key升序排序.


**

<?php $arr=array(0,1111,2,3,1114,5,611,7,8,5669,187780); sort($arr); echo '<pre>'; print_r($arr); echo '</pre>'; ?>

结果 是

Array ( [0] => 0 [1] => 2 [2] => 3 [3] => 5 [4] => 7 [5] => 8 [6] => 611 [7] => 1111 [8] => 1114 [9] => 5669 [10] => 187780 )

2.rsort();
不带key倒序排序.


**

<?php $arr=array(0,1111,2,3,1114,5,611,7,8,5669,187780); rsort($arr); echo '<pre>'; print_r($arr); echo '</pre>'; ?>

结果是

Array ( [0] => 187780 [1] => 5669 [2] => 1114 [3] => 1111 [4] => 611 [5] => 8 [6] => 7 [7] => 5 [8] => 3 [9] => 2 [10] => 0 )

3.asort();
带key升序排序.


**

<?php $arr=array(0,1111,2,3,1114,5,611,7,8,5669,187780); asort($arr); echo '<pre>'; print_r($arr); echo '</pre>'; ?>

**

Array ( [0] => 0 [2] => 2 [3] => 3 [5] => 5 [7] => 7 [8] => 8 [6] => 611 [1] => 1111 [4] => 1114 [9] => 5669 [10] => 187780 )

4.arsort();
带key降序排序.


**

<?php $arr=array(0,1111,2,3,1114,5,611,7,8,5669,187780); arsort($arr); echo '<pre>'; print_r($arr); echo '</pre>'; ?>

结果 是

Array ( [10] => 187780 [9] => 5669 [4] => 1114 [1] => 1111 [6] => 611 [8] => 8 [7] => 7 [5] => 5 [3] => 3 [2] => 2 [0] => 0 )

5.ksort();
按key升序排序.


**

<?php $arr=array(0,1111,2,3,1114,5,611,7,8,5669,187780); ksort($arr); echo '<pre>'; print_r($arr); echo '</pre>'; ?>

结果是

Array ( [0] => 0 [1] => 1111 [2] => 2 [3] => 3 [4] => 1114 [5] => 5 [6] => 611 [7] => 7 [8] => 8 [9] => 5669 [10] => 187780 )

6.krsort();
按key倒序排序.


**

<?php $arr=array(0,1111,2,3,1114,5,611,7,8,5669,187780); krsort($arr); echo '<pre>'; print_r($arr); echo '</pre>'; ?>

结果是

Array ( [10] => 187780 [9] => 5669 [8] => 8 [7] => 7 [6] => 611 [5] => 5 [4] => 1114 [3] => 3 [2] => 2 [1] => 1111 [0] => 0 )

7.natsort();
按自然数排序.


**

<?php $arr=array('linux','php','java','javascript','html5','css3'); natsort($arr); echo '<pre>'; print_r($arr); echo '</pre>'; ?>

结果是

Array ( [5] => css3 [4] => html5 [2] => java [3] => javascript [0] => linux [1] => php )

**

<?php $arr=array('linux','php','java','javascript','html5','css3'); natsort($arr); $arr=array_reverse($arr); echo '<pre>'; print_r($arr); echo '</pre>'; ?>

结果是

Array ( [0] => php [1] => linux [2] => javascript [3] => java [4] => html5 [5] => css3 )

8.natcasesort();
按忽略大小写的自然数排序.


**

<?php $arr=array('linux','php','java','javascript','html5','css3','LINUX'); natcasesort($arr); echo '<pre>'; print_r($arr); echo '</pre>'; ?>

*结果是 *

Array ( [5] => css3 [4] => html5 [2] => java [3] => javascript [0] => linux [6] => LINUX [1] => php )

9.array_multisort();
多数组排序.


**

<?php $arr=array( 'title1'=>'linux', 'title2'=>'linux is very much,and i love small ma', 'title3'=>'php is very much', 'title4'=>'js' ); foreach($arr as $val){ $row[]=strlen($val); } array_multisort($row,SORT_DESC,$arr); echo '<pre>'; print_r($arr); echo '</pre>'; ?>

结果是

Array ( [title2] => linux is very much,and i love small ma [title3] => php is very much [title1] => linux [title4] => js )

**

<?php $arr=array( 'title1'=>'linux', 'title2'=>'linux is very much,and i love small ma', 'title3'=>'php is very much', 'title4'=>'js' ); foreach($arr as $val){ $row[]=strlen($val); } array_multisort($row,SORT_ASC,$arr); echo '<pre>'; print_r($arr); echo '</pre>'; ?>

结果是

Array ( [title4] => js [title1] => linux [title3] => php is very much [title2] => linux is very much,and i love small ma )