php指定键名排序,php二维数组指定其键名对其排序的方法
安利个小李子先
$arr=[
'2'=>'red',
'5'=>'green',
'name'=>'tom'
];
$other=[
'5'=>'new red',
'name'=>'jessy'
];
$new_a=array_merge($arr,$other);
$new_b=array_merge_recursive($other,$arr);
var_dump($new);
array_merge是将两个数组合并为一个数组,如果两个数组中有相同键名,那么后面的会覆盖前面的
array_merge_recursive 也是合并两个相同数组,如果两个数组中有相同键名,
那么根本不会进行键名覆盖,而是将多个相同键名的值组成一个新数组.
大李子
要求:
此二维数组返回内容不定,
但需要保证展示顺序为直播>航拍>视频这样的排序。
有就必须按照这个优先级,没有就算...
// id 没有任何卵用,再次只是凑数标识
$arr=[
['id'=>1,'name'=>'位置图'],
['id'=>2,'name'=>'效果图'],
['id'=>3,'name'=>'实景'],
['id'=>4,'name'=>'样板间'],
['id'=>5,'name'=>'视频'],
['id'=>6,'name'=>'户型'],
['id'=>7,'name'=>'其他'],
['id'=>8,'name'=>'航拍'],
['id'=>9,'name'=>'交通'],
['id'=>10,'name'=>'直播'],
['id'=>11,'name'=>'规划'],
];
处理阶段
$num=3;//涉及三个优先级排序,这里定为3
foreach ($arr as $key => &$val) {
$val['sort_num']='';
if($val['name']=='直播'){
$val['sort_num']='1';
}elseif ($val['name']=='航拍'){
$val['sort_num']='2';
}elseif ($val['name']=='视频') {
$val['sort_num']='3';
}else{
$val['sort_num']=++$num;
}
}
unset($val);
$newArr = [];
$result = [];
foreach ($arr as &$item) {
$newArr[$item['sort_num']][] = $item;
}
----------
ksort($newArr);
foreach($newArr as &$newItem) {
if(is_array($newItem)) {
$result = array_merge($result, $newItem);
}else {
//array_push($newItem);
}
}
unset($newItem);
此时$result为最终想要的结果,如果有需要可以封装下。
如果有更好的处理办法,请各位大神指点下~
php指定键名排序,php二维数组指定其键名对其排序的方法相关推荐
- php下标排序,php二维数组指定下标排序
/* * Effect 排序 * author YangYunHao * email 1126420614@qq.com * time 2018-11-26 11:59:38 * parameter ...
- php数组取字段值,php如何获取二维数组指定的某个字段的值
php怎么获取二维数组指定的某个字段的值? 需求:有如下数组$arr,数组中有两个模块一个net 一个login,我怎么根据net模块获取最后一个marks, 其中net模块和login模块的数据还是 ...
- 如何利用一维数组实现二维数组的多列自由升降序排序过程详解
如何利用一维数组实现二维数组的多列自由升降序排序过程详解 本例只说明多列排序的实现方式,一维数组的排序已经有过讲解不在赘述.所以本文是在已经完成了一维数组排序的函数封装的基础上完善多列排序的过程的详解 ...
- java二维数组长度表示,java二维数组指定不同长度代码实例
本篇文章小编给大家分享一下java二维数组指定不同长度代码实例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 1.二维数组的每个元素都是一个一维数组, ...
- python键盘输入数组_python 二维数组切割Python读取键盘输入的2种方法
Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.如下: 1.raw_input 2.input raw_input函数raw_input() 函数从标准输入读取一个行,并返 ...
- python二维数组换行输出_python 二维数组切割Python读取键盘输入的2种方法
Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.如下: 1.raw_input 2.input raw_input函数raw_input() 函数从标准输入读取一个行,并返 ...
- php二维数组指定其键名对其排序的方法
安利个小李子先 <?php $arr=['2'=>'red','5'=>'green','name'=>'tom' ];$other=[ '5'=>'new red', ...
- php键名相加,php二维数组相同键名相加实例
php二维数组相同键名相加实例 导语:在php二维数组雷同键名相加,你写吗?下面的是百分网小编为大家搜集的php二维数组相同键名相加实例,希望对你会有所帮助. Array ( [uid] => ...
- PHP将一个二维数组按照某个键的键值做出重组一个新的二维数组
如下一个二维数组,将一个二维数组按照apname的 键值来排序组合成一个新的二维数组 apname 键值不变,其中其他几个红色划线部分进行组合. 构建好之后展现效果如下 使用了两种方式进行构建 方法 ...
最新文章
- PM配置详解之一:企业结构
- 【转】Java代码操作Redis的sentinel和Redis的集群Cluster操作
- WordPress更新时提示无法连接到FTP服务器的解决方案
- 占用内存的Enum.values()方法
- 1282B1. K for the Price of One (Easy Version)
- 生活中的实验 —— 家庭电路
- Linux下安装zookeeper集群,以及在window用dubbo和代码测试
- 用c语言编写函数流程,C语言课程设计————写下流程图! 谢谢
- python 快速排名发包_2019年SEO快速排名发包技术及原理 - 立金哥
- 密室逃脱全集(试试吧)
- Verilog学习日志(2021.7.31)
- onlyoffice 收费不_OMG!你家小区物业有没有这些乱收费的现象……|物业|物业管理|物业服务|门禁卡|停车费...
- python青少年编程比赛_第十一届蓝桥杯大赛青少年创意编程组比赛细则
- 配置Tomcat详细教程!
- 【kernel学习】内核下载与编译
- 一位明星证券客户经理的十年辛酸史--俊材有话说
- matlab 变成圆形坐标,求圆和椭圆上任意角度的点的坐标
- HTML5新属性+CSS3动画
- 如何在jupyter中添加目录
- 纯手写2022年最新JVM调优实战手册,看完让你精通JVM调优
热门文章
- mac系统下git、mysql、nginx、php的环境搭建
- 【ajax+php】动态展示4级单位(省、市、县、镇)
- 使用 Circular Reveal 动画让页面跳转更炫酷
- 为什么站点实现了https加密之后还是能看到相关数据
- Linux 添加ssh 公钥访问
- Android消息通信之无所不能的第三方开源项目EventBus
- CSS3盒子阴影box-shadow
- 源代码阅读工具Source-Navigator 在ubuntu 9.04下的安装与问题解决
- 大数据技术下 分布式数据库何去何从?
- Asp.net 中 OnClientClick 与 OnClick 的执行顺序