本文实例讲述了PHP实现二维数组按指定的键名排序的方法。分享给大家供大家参考,具体如下:
<?php
/*二维数组按指定的键值排序*/
function array_sort($array,$keys,$type='asc'){
if(!isset($array) || !is_array($array) || empty($array)){
return '';
}
//排序字段名,如:id
if(!isset($keys) || trim($keys)==''){
return '';
}
//排序方式,如:desc、asc
if(!isset($type) || $type=='' || !in_array(strtolower($type),array('asc','desc'))){
return '';
}
//定义一个数组
$keysvalue=array();
foreach($array as $key=>$val){
//对排序字段值进行过滤
$val[$keys] = str_replace('-','',$val[$keys]);
$val[$keys] = str_replace(' ','',$val[$keys]);
$val[$keys] = str_replace(':','',$val[$keys]);
//将记录中指定的键名放入数组中,如:[0]=>5,[1]=>3,[2]=>6
$keysvalue[] =$val[$keys];//排序字段,如:id 索引=》排序键名
}
asort($keysvalue); //按值升序排序,且保持键名与键值之间的索引关系,如:[1]=>3,[0]=>5,[2]=>6
reset($keysvalue); //指针重新指向数组第一个
foreach($keysvalue as $key=>$vals) {
$keysort[] = $key;//0=>[1],1=>[0],2=>[2]
}
$keysvalue = array();
$count=count($keysort);//排序记录数
if(strtolower($type) != 'asc'){//降序
for($i=$count-1; $i>=0; $i--) {
$keysvalue[] = $array[$keysort[$i]];
}
}else{//升序
for($i=0; $i<$count; $i++){
$keysvalue[] = $array[$keysort[$i]];
}
}
return $keysvalue;
}
$array=array(
array('name'=>'Tom','age'=>'23','like'=>'beer'),
array('name'=>'Trump','age'=>'50','like'=>'Food'),
array('name'=>'Jack','age'=>'26','like'=>'Travel')
);
print_r(array_sort($array,'age'));
?>
运行结果:
Array
(
[0] => Array
(
[name] => Tom
[age] => 23
[like] => beer
)
[1] => Array
(
[name] => Jack
[age] => 26
[like] => Travel
)
[2] => Array
(
[name] => Trump
[age] => 50
[like] => Food
)
)
PS:这里再为大家推荐2款比较实用的相关在线排序工具供大家参考使用:
在线中英文根据首字母排序工具:
http://tools./aideddesign/zh_paixu
在线文本倒序翻转排序工具:
http://tools./aideddesign/flipped_txt
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php排序算法总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《php面向对象程序设计入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
# PHP
# 二维数组
# 键名
# 排序
# php对二维数组按指定键值key排序示例代码
# php数组实现根据某个键值将相同键值合并生成新二维数组的方法
# PHP二维数组实现去除重复项的方法【保留各个键值】
# PHP按指定键值对二维数组进行排序的方法
# php二维数组按某个键值排序的实例讲解
# php自定义排序uasort函数示例【二维数组按指定键值排序】
# php二维数组用键名分组相加实例函数
# 详解PHP 二维数组排序保持键名不变
# PHP实现通过二维数组键值获取一维键名操作示例
# 升序
# 程序设计
# 键值
# 操作技巧
# 相关内容
# 第一个
# 感兴趣
# 给大家
# 更多关于
# 所述
# 面向对象
# 再为
# 组中
# 首字母
# 字段名
# 降序
# 讲述了
# empty
# return
相关文章:
西安大型网站制作公司,西安招聘网站最好的是哪个?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
如何解决VPS建站LNMP环境配置常见问题?
建站之星ASP如何实现CMS高效搭建与安全管理?
广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?
潮流网站制作头像软件下载,适合母子的网名有哪些?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
公司网站制作价格怎么算,公司办个官网需要多少钱?
建站主机是否等同于虚拟主机?
建站主机选哪家性价比最高?
常州自助建站费用包含哪些项目?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
再谈Python中的字符串与字符编码(推荐)
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
青岛网站建设如何选择本地服务器?
如何选择可靠的免备案建站服务器?
天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
已有域名如何免费搭建网站?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
内网网站制作软件,内网的网站如何发布到外网?
西安专业网站制作公司有哪些,陕西省建行官方网站?
如何用狗爹虚拟主机快速搭建网站?
如何用虚拟主机快速搭建网站?详细步骤解析
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
建站主机SSH密钥生成步骤及常见问题解答?
盘锦网站制作公司,盘锦大洼有多少5G网站?
自助网站制作软件,个人如何自助建网站?
如何快速重置建站主机并恢复默认配置?
建站之星安装后如何配置SEO及设计样式?
如何用5美元大硬盘VPS安全高效搭建个人网站?
山东网站制作公司有哪些,山东大源集团官网?
如何快速搭建个人网站并优化SEO?
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
建站之星安装模板失败:服务器环境不兼容?
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?
网站制作需要会哪些技术,建立一个网站要花费多少?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
深圳 网站制作,深圳招聘网站哪个比较好一点啊?
javascript中的try catch异常捕获机制用法分析
如何高效生成建站之星成品网站源码?
安云自助建站系统如何快速提升SEO排名?
黑客如何利用漏洞与弱口令入侵网站服务器?
如何用腾讯建站主机快速创建免费网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。