PHP 数组函数

PHP usort()函数 表示使用用户自定义函数(回调函数)对数组进行排序。

它会更改原数组内的结构,如果是关联数组会删除所对应的键名。

语法

usort(array,myfunction); 

参数

参数说明可选/必须
array指定要排序的数组必须
myfunction

自定义函数。该函数必须返回-1,0或1

  • 如果a=b,返回0
  • 如果a>b,返回1,
  • 如果a<b, 返回-1.
可选

返回值

返回值为ture 或者false。

例子

介绍一些例子,了解PHP usort()函数 的使用方法。

例1

一维数组的例子
<?php
function myfunc($a,$b){
	if ($a==$b) return 0;
	return ($a<$b)?-1:1;
}
$arr = array(3,1,5);
$result = usort($arr,'myfunc');
var_dump($arr);

?> 
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(3)
  [2]=>
  int(5)
}

 例2

关联数组的例子,它会删除键名,只比较键值。

<?php
function myfunc($a,$b){
	if ($a==$b) return 0;
	return ($a<$b)?-1:1;
}
$arr = array("c"=>"yellow","b"=>"green","a"=>"red");

$result = usort($arr,'myfunc');
var_dump($arr);

?> 
输出如下:
array(3) {
  [0]=>
  string(5) "green"
  [1]=>
  string(3) "red"
  [2]=>
  string(6) "yellow"
}