数组排序:数组中的元素能够以字母或数字顺序进行升序或降序排序。
常用的php数组排序函数
•sort() - 以升序对数组排序
•rsort() - 以降序对数组排序
•asort() - 根据值,以升序对关联数组进行排序
•ksort() - 根据键,以升序对关联数组进行排序
•arsort() - 根据值,以降序对关联数组进行排序
•krsort() - 根据键,以降序对关联数组进行排序
举例:
sort()-以升序对数组排序
注释:本函数为数组中的单元赋予新的键名。原有的键名将被删除。
如果成功则返回true 失败返回 false
例如:
1
2
3
4
5
6
|
<?php
$arr1 = array ( 'a' , 'd' , 'c' , 'b' );
$arr2 = array (1, 3, 2, 4);
print_r(sort( $arr1 ) ? $arr1 : "排序失败" );
echo "<br>" ;
print_r(sort( $arr2 ) ? $arr2 : "排序失败" );
|
运行结果为:
array ( [0] => a [1] => b [2] => c [3] => d )
array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
rsort()函数同理
asort()- 根据值,以升序对关联数组进行排序
asort() 函数对数组进行排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。
如果成功则返回 true,否则返回 false。
1
2
3
4
5
6
|
<?php
$arr1 = array ( 'a' , 'd' , 'c' , 'b' );
$arr2 = array (1, 3, 2, 4);
print_r(asort( $arr1 ) ? $arr1 : "排序失败" );
echo "<br>" ;
print_r(asort( $arr2 ) ? $arr2 : "排序失败" );
|
运行结果为:
array ( [0] => a [3] => b [2] => c [1] => d )
array ( [0] => 1 [2] => 2 [1] => 3 [3] => 4 )
arsort()函数同理
ksort() - 根据键,以升序对关联数组进行排序
ksort() 函数按照键名对数组排序,为数组值保留原来的键。
若成功,则返回 true,否则返回 false。
1
2
3
4
5
6
7
8
|
<?php
$arr1 = array (
'3' => '第三个' ,
'2' => '第二个' ,
'4' => '第四个' ,
'1' => '第一个' ,
);
print_r(ksort( $arr1 ) ? $arr1 : "排序失败" );
|
运行结果为:
array ( [1] => 第一个 [2] => 第二个 [3] => 第三个 [4] => 第四个 )
krsort()函数同理
补充—array_multisort() 函数
array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。
注释:字符串键名将被保留,但是数字键名将被重新索引,从 0 开始,并以 1 递增。
注释:您可以在每个数组后设置排序顺序和排序类型参数。如果没有设置,每个数组参数会使用默认值。
1
2
3
4
5
6
|
<?php
$a1 = array ( "dog" , "dog" , "cat" );
$a2 = array (3, 2, 5);
array_multisort ( $a1 , sort_asc, $a2 , sort_desc);
print_r( $a1 );
print_r( $a2 );
|
运行结果为:
array ( [0] => cat [1] => dog [2] => dog )
array ( [0] => 5 [1] => 3 [2] => 2 )
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。