当前位置:首页 » 编程语言 » php数组按照值排序

php数组按照值排序

发布时间: 2022-09-07 06:19:34

php一个数组要求先按值排序,如果它的值有相同,就再按键排序。

最简单的方法就是先把歌手名(汉字)用php转换成拼音,然后order
by排序就可以了,有一个pinyin类,可以去网上找找看,帝国CMS里面也有,可以拷出来用。

Ⅱ php数组值如何根据另一个数组的值进行排序

<?php
$a=array(
array(
'id'=>3,
'status'=>10,
),
array(
'id'=>4,
'status'=>11,
),
array(
'id'=>5,
'status'=>30,
),
array(
'id'=>6,
'status'=>100,
),
array(
'id'=>7,
'status'=>20,
),
);
$b=array(100,10,20,21,11,30);

print_r(sortByKey($a,$b));
functionsortByKey($arr,$order)
{
$newArr=array();
foreach($orderas$item){
foreach($arras$val){
if($val['status']==$item){
$newArr[]=array(
'id'=>$item,
'status'=>$val['id']);
}
}
}

return$newArr;
}
Array
(
[0]=>Array
(
[id]=>100
[status]=>6
)

[1]=>Array
(
[id]=>10
[status]=>3
)

[2]=>Array
(
[id]=>20
[status]=>7
)

[3]=>Array
(
[id]=>11
[status]=>4
)

[4]=>Array
(
[id]=>30
[status]=>5
)

)

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

$newArr=array();
for($j=0;$j<count($arr);$j++){
$newArr[]=$arr[$j]['flag']
}
array_multisort($newArr,$arr);
print_r($arr)

Ⅳ php中和值相关的排序有哪些函数

定义和用法
arsort() 函数对关联数组按照键值进行降序排序。
提示:请使用 asort() 函数对关联数组按照键值进行升序排序。
提示:请使用 krsort() 函数对关联数组按照键名进行降序排序。
语法
arsort(array,sortingtype);
参数 描述
array 必需。规定要进行排序的数组。
sortingtype
可选。规定如何排列数组的元素/项目。可能的值:
0 = SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)
1 = SORT_NUMERIC - 把每一项作为数字来处理。
2 = SORT_STRING - 把每一项作为字符串来处理。
3 = SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
4 = SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。
5 = SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。
定义和用法
asort() 函数对关联数组按照键值进行升序排序。
提示:请使用 arsort() 函数对关联数组按照键值进行降序排序。
提示:请使用 ksort() 函数对关联数组按照键名进行升序排序。
语法
asort(array,sortingtype);
参数 描述
array 必需。规定要进行排序的数组。
sortingtype
可选。规定如何排列数组的元素/项目。可能的值:
0 = SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)
1 = SORT_NUMERIC - 把每一项作为数字来处理
2 = SORT_STRING - 把每一项作为字符串来处理
3 = SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)
4 = SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序
5 = SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写

Ⅳ PHP数组排序

php中数组自定义排序 使用 usort函数

PHP usort

$arr=array("哈哈-默默-122","吸收-伏牛山-7","啥的-都是-12");

usort($arr,function($v1,$v2){
//将两个值切割
$va1=explode('-',$v1);
$va2=explode('-',$v2);
//取两个值的最后一段数字
$num1=intval(array_pop($va1));
$num2=intval(array_pop($va2));

//返回比较结果
return$num2>$num1?1:($num2<$num1?-1:0);
});

var_export($arr);

你看下上面排序结果是否你要的,如果反了,把return中的1和-1换一换就可以了

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

Ⅶ 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),其他数组(可以是二维的)

Ⅷ 在php中怎么排序键值数组

array_change_key_case -- 返回字符串键名全为小写或大写的数组
array_chunk -- 将一个数组分割成多个
array_combine -- 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
array_count_values -- 统计数组中所有的值出现的次数
array_diff_assoc -- 带索引检查计算数组的差集
array_diff_uassoc -- Computes the difference of arrays with additional index check which is performed by a user supplied callback function.
array_diff -- 计算数组的差集
array_fill -- 用给定的值填充数组
array_filter -- 用回调函数过滤数组中的单元
array_flip -- 交换数组中的键和值
array_intersect_assoc -- 带索引检查计算数组的交集
array_intersect -- 计算数组的交集
array_key_exists -- 检查给定的键名或索引是否存在于数组中
array_keys -- 返回数组中所有的键名
array_map -- 将回调函数作用到给定数组的单元上
array_merge_recursive -- 递归地合并两个或多个数组
array_merge -- 合并两个或多个数组
array_multisort -- 对多个数组或多维数组进行排序
array_pad -- 用值将数组填补到指定长度
array_pop -- 将数组最后一个单元弹出(出栈)
array_push -- 将一个或多个单元压入数组的末尾(入栈)
array_rand -- 从数组中随机取出一个或多个单元
array_rece -- 用回调函数迭代地将数组简化为单一的值
array_reverse -- 返回一个单元顺序相反的数组
array_search -- 在数组中搜索给定的值,如果成功则返回相应的键名
array_shift -- 将数组开头的单元移出数组
array_slice -- 从数组中取出一段
array_splice -- 把数组中的一部分去掉并用其它值取代
array_sum -- 计算数组中所有值的和
array_udiff_assoc -- Computes the difference of arrays with additional index check. The data is compared by using a callback function.
array_udiff_uassoc -- Computes the difference of arrays with additional index check. The data is compared by using a callback function. The index check is done by a callback function also
array_udiff -- Computes the difference of arrays by using a callback function for data comparison.
array_unique -- 移除数组中重复的值
array_unshift -- 在数组开头插入一个或多个单元
array_values -- 返回数组中所有的值
array_walk -- 对数组中的每个成员应用用户函数
array -- 新建一个数组
arsort -- 对数组进行逆向排序并保持索引关系
asort -- 对数组进行排序并保持索引关系
compact -- 建立一个数组,包括变量名和它们的值
count -- 统计变量中的单元数目
current -- 返回数组中的当前单元
each -- 返回数组中当前的键/值对并将数组指针向前移动一步
end -- 将数组的内部指针指向最后一个单元
extract -- 从数组中将变量导入到当前的符号表
in_array -- 检查数组中是否存在某个值
key -- 从结合数组中取得键名
krsort -- 对数组按照键名逆向排序
ksort -- 对数组按照键名排序
list -- 把数组中的值赋给一些变量
natcasesort -- 用“自然排序”算法对数组进行不区分大小写字母的排序
natsort -- 用“自然排序”算法对数组排序
next -- 将数组中的内部指针向前移动一位
pos -- 得到数组当前的单元
prev -- 将数组的内部指针倒回一位
range -- 建立一个包含指定范围单元的数组
reset -- 将数组的内部指针指向第一个单元
rsort -- 对数组逆向排序
shuffle -- 将数组打乱
sizeof -- count() 的别名
sort -- 对数组排序
uasort -- 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联
uksort -- 使用用户自定义的比较函数对数组中的键名进行排序
usort -- 使用用户自定义的比较函数对数组中的值进行排序

热点内容
京东架构师缓存经验 发布:2025-01-13 15:33:00 浏览:726
android图片颜色 发布:2025-01-13 15:26:09 浏览:268
国家税务总局电脑服务器 发布:2025-01-13 15:10:24 浏览:596
金立老款机的开机密码是多少 发布:2025-01-13 15:04:45 浏览:456
湖南网上办税初始密码多少 发布:2025-01-13 15:02:49 浏览:417
怎么使用笔记本连接服务器 发布:2025-01-13 15:02:48 浏览:705
长城cs75plus选哪个配置 发布:2025-01-13 14:54:05 浏览:22
php与大象 发布:2025-01-13 14:48:34 浏览:344
linux编辑器下载 发布:2025-01-13 14:47:01 浏览:737
如何清理qq存储空间vivo 发布:2025-01-13 14:35:28 浏览:364