数组排序的区别
sort
$arr = array(5,2,6,8,4,1);
sort($arr); print_r($arr);
输出:Array( [0] => 1 [1] => 2 [2] => 4 [3] => 5 [4] => 6 [5] =>8 )
可以看到键值关联不再保持.
assort 本函数对数组进行排序,数组的索引保持和单元的关联.主要用于对那些单元顺序很重要的结合数组进行排序. 示例:
$arr = array(5,2,6,8,4,1);
asort($arr); print_r($arr);
输出:Array ( [5] => 1 [1] => 2 [4] => 4 [0] => 5 [2] => 6 [3] =>8 )
可以看到键值保持不变
rsort rsort()函数与sort()相同,只是它以相反的顺序(降序)对数组元素排序.示例如下:
$arr = array(5,2,6,8,4,1);
rsort($arr); print_r($arr);
输出Array ( [0] => 8 [1] => 6 [2] => 5 [3] => 4 [4] => 2 [5] => 1)
arsort arsort()函数与asort()相同,只是它以相反的顺序(降序)对数组元素排序.示例如下:
$arr = array(5,2,6,8,4,1);
arsort($arr); print_r($arr);
输出:Array( [3] => 8 [2] => 6 [0] => 5 [4] => 4 [1] => 2 [5] => 1)
ksort 和sort的区别有对数组按照键名排序而不是按值排序,保留键名到数据的关联.本函数主要用于关联数组. 如果成功则返回 TRUE,失败则返回 FALSE.
示例:
$arr = array(‘phpfans’ => ‘www.phpfans.net’, ‘php’ => ‘www.php.net’, ‘mysql’ => ‘www.mysql.com’,
‘apache’ => ‘www.apache.org’);
ksort($arr); print_r($arr);
输出:Array( [apache] => www.apache.org [mysql] => www.mysql.com [php] => www.php.net
[phpfans] => www.phpfans.net)
krsort 对数组按照键名逆向排序,保留键名到数据的关联.主要用于结合数组. 如果成功则返回 TRUE,失败则返回 FALSE.示例:
$arr = array(‘phpfans’ => ‘www.phpfans.net’, ‘mysql’ => ‘www.mysql.com’, ‘php’ => ‘www.php.net’,
‘apache’ => ‘www.apache.org’);
krsort($arr); print_r($arr);
输出:Array ( [phpfans] => www.phpfans.net [php] => www.php.net [mysql] => www.mysql.com
[apache] => www.apache.org )
natsort() 函数用自然顺序算法对给定数组中的元素排序。
$arr=array(“page_1″,”page_12″,”page_5″,”page_3″);
natsort($arr); print_r($arr);
输出:Array([0] => page_1 [3] => page_3 [2] => page_5 [1] => page_12)
如果:print_r(array_merge($arr));
则输出:Array([0] => page_1 [1] => page_3 [2] => page_5 [3] => page_12)