php排序函数

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);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值