导航:首页 > 编程语言 > php根据数组的某个值排序

php根据数组的某个值排序

发布时间:2023-03-09 05:40:12

A. php 怎么根据数组中其中的一个值排序

sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序

B. php如何按数组键值排序

$arr=[
array(
'name'=>'小坏龙',
'age'=>28
),
array(
'name'=>'小坏龙2',
'age'=>14
),
array(
'name'=>'小坏龙3',
'age'=>59
),
array(
'name'=>'小坏龙4',
'age'=>23
),
array(
'name'=>'小坏龙5',
'age'=>23
),
array(
'name'=>'小坏龙6',
'age'=>21
),
];

array_multisort(array_column($arr,'age'),SORT_DESC,$arr);
print_r($arr);

其中 array_column(数组,数组中的某个键值) 从多维数组中取出某个键值的一列 返回一个一维数组;
array_multisort(数组(一维数组),排序方式(SOTR_ASC,SOTR_DESC),其他数组(可以是二维的)

C. php用系统函数将一个数组按另一个数组的值进行排序

rsort()定义和用法
rsort() 函数对数组的元素按照键值进行逆向排序。与 arsort() 的功能基本相同。

注释:该函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。

如果成功则返回 TRUE,否则返回 FALSE。

可选的第二个参数包含另外的排序标志。

语法
rsort(array,sorttype)参数 描述
array 必需。输入的数组。
sorttype 可选。规定如何排列数组的值。可能的值:

SORT_REGULAR - 默认。以它们原来的类型进行处理(不改变类型)。
SORT_NUMERIC - 把值作为数字来处理
SORT_STRING - 把值作为字符串来处理
SORT_LOCALE_STRING - 把值作为字符串来处理,基于本地设置*。

*:该值是 PHP 4.4.0 和 5.0.2 新加的。在 PHP 6 之前,使用了系统的区域设置,可以用 setlocale() 来改变。自 PHP 6 起,必须用 i18n_loc_set_default() 函数。

例子
复制代码 代码如下:
<?php
$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse");
rsort($my_array);
print_r($my_array);
?>

输出:
Array
(
[0] => Horse
[1] => Dog
[2] => Cat
)

D. 关于php二维数组中按某个元素的值排序

你可以使用usort这个函数进行对$a['list']进行处理

usort($a['list'],function($a,$b){
if($a['app_down']==$b['app_down'])return0;
return$a['app_down']>$b['app_down']?1:-1;
//如果发现结果是升序,1和-1对换下位置,记不太清了
});

E. php二维数组中按某个元素的值排序

//提供一个方法
classlib_BaseUtils{
static$s_field;
static$s_sc;
/**
*php二维数组按键值排序
*@paramarray$a需要排序的数组
*@paramstring$sort排序的键值
*@paramstring$d默认ASC,带上参后为DESC
*@returnboolean
*/
staticfunctionarray_sort(&$a,$sort,$d=''){
self::$s_field=$sort;
self::$s_sc=$d;
usort($a,array("lib_BaseUtils","array_sort_callback"));
return$a;
}
//排序回调方法请勿删除
staticfunctionarray_sort_callback($a,$b){
$s_a=self::$s_sc?$b:$a;
$s_b=self::$s_sc?$a:$b;
$field=self::$s_field;
switch(true){
case(is_string($s_a[$field])&&is_string($s_b[$field])):
returnstrcmp($s_a[$field],$s_b[$field]);
break;
default:
if($s_a[$field]==$s_b[$field]){
return0;
}else{
return$s_a[$field]>$s_b[$field]?-1:1;
}
}
}
}

调用方法

lib_BaseUtils::array_sort($lists, 'app_down','desc');

F. PHP中怎么根据二维数组中的子数组的某个元素进行排序

//先用array_column 多维数组按照纵向(列)取出
$date = array_column($arr, '0');
//上面得到的结果:array()
//再用array_multisort 结合array_column得到的结果对$arr进行排序
array_multisort($date,SORT_ASC,$arr);

阅读全文

与php根据数组的某个值排序相关的资料

热点内容
安卓机的推送消息怎么关闭 浏览:989
服务器做什么好 浏览:728
18辍学做程序员 浏览:873
高一对数的运算法则及公式 浏览:498
压缩二分之一以上做骨水泥手术 浏览:360
服务器怎么让文件可以下载地址 浏览:190
加密货币2021年市值 浏览:840
安卓19怎么玩侠盗飞车 浏览:137
农业经济学pdf 浏览:723
有什么分享软件的app 浏览:43
电脑文件加密的文件怎么找出来 浏览:89
Java实现sha 浏览:527
购物车java代码 浏览:316
windows多核编程 浏览:610
股旁网选股指标公式源码 浏览:857
python运维管理工具 浏览:457
功率分配算法 浏览:493
钱豆豆app可以做什么 浏览:194
腾讯云服务器还需要数据库吗 浏览:768
比较器编程 浏览:738