欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 实际开发中,多多少少都会遇到数组的排序问题,除了常规的写简单的排序算法,PHP 还提供了内置数组排序函数,本次重点分享一下:uasort 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入
实际开发中,多多少少都会遇到数组的排序问题,除了常规的写简单的排序算法,PHP 还提供了内置数组排序函数,本次重点分享一下:uasort 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联,可排序多维数组,本文重点讲解此函数。
uasort 函数
参数类型:bool uasort ( array &$array, callable $cmp_function)
本函数对数组排序并保持索引和单元之间的关联。
主要用于对那些单元顺序很重要的结合数组进行排序。比较函数是用户自定义的。
成功时返回 TRUE, 或者在失败时返回 FALSE.
数组排序实例(非class中):
复制代码
1 /**
2 * 自定义排序函数
3 * @param $param1
4 * @param $param2
5 * @return 0(不移动) 1(正向调换顺序) -1(逆向调换顺序)
6 */
7
8 function my_sort($param1, $param2){
9 if($param1 == $param2) return 0;
10 else return $param1 > $param2 ? 1 : -1;
11 }
12
13 $arr = array(
14 'a'=>'20',
15 'b'=>'1',
16 'c'=>'10',
17 'd'=>'5',
18 'e'=>'21',
19 'f'=>'4',
20 'g'=>'3',
21 );
22
23 uasort($arr, 'my_sort');
24
25 var_dump($arr);
26
27 /*输出值
28 array (size=7)
29 'b' => string '1' (length=1)
30 'g' => string '3' (length=1)
31 'f' => string '4' (length=1)
32 'd' => string '5' (length=1)
33 'c' => string '10' (length=2)
34 'a' => string '20' (length=2)
35 'e' => string '21' (length=2)
36 */
复制代码
多维数组排序实例(非class中):
复制代码
/**
* 自定义排序函数
* @param $param1
* @param $param2
* @return 0(不移动) 1(正向调换顺序) -1(逆向调换顺序)
*/
function my_sort($param1, $param2){
if($param1['value'] == $param2['value']) return 0;
else return $param1['value'] > $param2['value'] ? 1 : -1;
}
$arr = array(
'a'=>array('key'=>'定义1', 'value'=>'20'),
'b'=>array('key'=>'定义2', 'value'=>'1'),
'c'=>array('key'=>'定义3', 'value'=>'10'),
'd'=>array('key'=>'定义4', 'value'=>'5'),
'e'=>array('key'=>'定义5', 'value'=>'21'),
'f'=>array('key'=>'定义6', 'value'=>'4'),
'g'=>array('key'=>'定义7', 'value'=>'3'),
);
[1] [2] [3]

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Atom editor mac version download
The most popular open source editor

WebStorm Mac version
Useful JavaScript development tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

Dreamweaver Mac version
Visual web development tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.
