PHP中的数组(排序)
来源:互联网 发布:sql primary key 编辑:程序博客网 时间:2024/06/05 14:07
sort
对数组排序
$arr = [1,5,4,3,8];sort($arr);print_r($arr);Array( [0] => 1 [1] => 3 [2] => 4 [3] => 5 [4] => 8)$arr = ['aaa','ddd','bbb','eee','ccc'];sort($arr);print_r($arr);Array( [0] => aaa [1] => bbb [2] => ccc [3] => ddd [4] => eee)
rsort
对数组逆向排序
$arr = [1,5,4,3,8];rsort($arr);print_r($arr);Array( [0] => 8 [1] => 5 [2] => 4 [3] => 3 [4] => 1)$arr = ['aaa','ddd','bbb','eee','ccc'];rsort($arr);print_r($arr);Array( [0] => eee [1] => ddd [2] => ccc [3] => bbb [4] => aaa)
ksort
对数组按照键名排序
$arr = [ 1=>11, 5=>2, 3=>8, 4=>6, 9=>3];ksort($arr);print_r($arr);Array( [1] => 11 [3] => 8 [4] => 6 [5] => 2 [9] => 3)
krsort
对数组按照键名逆向排序
$arr = [ 1=>11, 5=>2, 3=>8, 4=>6, 9=>3];krsort($arr);print_r($arr);Array( [9] => 3 [5] => 2 [4] => 6 [3] => 8 [1] => 11)
asort
对数组进行排序并保持索引关系
$arr = [ 1=>11, 5=>2, 3=>8, 4=>6, 9=>3];asort($arr);print_r($arr);Array( [5] => 2 [9] => 3 [4] => 6 [3] => 8 [1] => 11)
arsort
对数组进行逆向排序并保持索引关系
$arr = [ 1=>11, 5=>2, 3=>8, 4=>6, 9=>3];arsort($arr);print_r($arr);Array( [1] => 11 [3] => 8 [4] => 6 [9] => 3 [5] => 2)
usort
使用用户自定义的比较函数对数组中的值进行排序
function compare_func($a, $b){ $a = abs($a); $b = abs($b); if($a==$b) return 0; return $a>$b?1:-1;}$arr = [ 1=>-11, 5=>2, 3=>8, 4=>6, 9=>-3];usort($arr, 'compare_func');print_r($arr);Array( [0] => 2 [1] => -3 [2] => 6 [3] => 8 [4] => -11)
uksort
使用用户自定义的比较函数对数组中的键名进行排序
function compare_func($a, $b){ $a = abs($a); $b = abs($b); if($a==$b) return 0; return $a>$b?1:-1;}$arr = [ 1=>11, -5=>2, 3=>8, 4=>6, -9=>3];uksort($arr, 'compare_func');print_r($arr);Array( [1] => 11 [3] => 8 [4] => 6 [-5] => 2 [-9] => 3)
uasort
使用用户自定义的比较函数对数组中的值进行排序并保持索引关联
function compare_func($a, $b){ $a = abs($a); $b = abs($b); if($a==$b) return 0; return $a>$b?1:-1;}$arr = [ 1=>-11, 5=>2, 3=>8, 4=>6, 9=>-3];uasort($arr, 'compare_func');print_r($arr);Array( [5] => 2 [9] => -3 [4] => 6 [3] => 8 [1] => -11)
natsort
用“自然排序”算法对数组排序
本函数实现了一个和人们通常对字母数字字符串进行排序的方法一样的排序算法并保持原有键/值的关联,这被称为”自然排序”。本算法和通常的计算机字符串排序算法(用于 sort())的区别见下面示例。
$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");asort($array1);print_r($array1);natsort($array2);print_r($array2);Array( [3] => img1.png [1] => img10.png [0] => img12.png [2] => img2.png)Array( [3] => img1.png [2] => img2.png [1] => img10.png [0] => img12.png)
natcasesort
用“自然排序”算法对数组进行不区分大小写字母的排序
$array1 = $array2 = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');sort($array1);print_r($array1);natcasesort($array2);print_r($array2);Array( [0] => IMG0.png [1] => IMG3.png [2] => img1.png [3] => img10.png [4] => img12.png [5] => img2.png)Array( [0] => IMG0.png [4] => img1.png [3] => img2.png [5] => IMG3.png [2] => img10.png [1] => img12.png)
array_multisort
对多个数组或多维数组进行排序
关联(string)键名保持不变,但数字键名会被重新索引。
$ar1 = array(10, 100, 100, 0);$ar2 = array(1, 3, 2, 4);array_multisort($ar1, $ar2);print_r($ar1);print_r($ar2);Array( [0] => 0 [1] => 10 [2] => 100 [3] => 100)Array( [0] => 4 [1] => 1 [2] => 2 [3] => 3)
参考
- PHP手册
0 0
- PHP中的数组(排序)
- PHP中的数组排序函数
- 对php中的二维数组进行排序
- php数组排序(二分法)
- php数组排序(1)
- php 数组按数组中的某个字段值排序
- 用php中的数组排序函数对表格排序
- #PHP#(三)数组及数组排序
- php关联数组排序(快速排序)
- PHP中的数组(指针)
- PHP中的数组(集合)
- PHP中的数组(数据结构)
- PHP中的数组(查找)
- php 使用多维数组中的某一列值排序
- PHP按二维数组中的某个KEY排序
- PHP二维数组按值中的值指定排序
- PHP多维数组排序(array_multisort)
- PHP数组函数(遍历、排序)
- [rabbitmq] 安装及基本使用命令
- MySQL数据库的基本操作
- Ethernet PHY芯片AR8035驱动
- squid 和squid 集群
- Android Studio常用设置及常用快捷键
- PHP中的数组(排序)
- 网络层概述
- 如何用一个IPad屏幕适配各尺寸的IPhone
- android studio添加java doc的说明
- UISearchBar常用的属性方法
- 转载: ios 比较两个日期格式(NSString,NSDate)的大小/前后 [复制链接]
- java 垃圾回收机制
- 装饰器
- c++实现数据结构中的各种排序方法:直接插入、选择,归并、冒泡、快速、堆排序、shell排序