本文实例讲述了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
相关文章:
建站主机与虚拟主机有何区别?如何选择最优方案?
为什么Go需要go mod文件_Go go mod文件作用说明
如何用免费手机建站系统零基础打造专业网站?
北京专业网站制作设计师招聘,北京白云观官方网站?
jQuery 常见小例汇总
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
建站之星如何助力网站排名飙升?揭秘高效技巧
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
网站制作软件有哪些,制图软件有哪些?
如何通过.red域名打造高辨识度品牌网站?
C#怎么使用委托和事件 C# delegate与event编程方法
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
制作网站的软件免费下载,免费制作app哪个平台好?
微课制作网站有哪些,微课网怎么进?
建站之星24小时客服电话如何获取?
建站DNS解析失败?如何正确配置域名服务器?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
建站VPS推荐:2025年高性能服务器配置指南
建站主机无法访问?如何排查域名与服务器问题
如何在建站之星网店版论坛获取技术支持?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
广州营销型建站服务商推荐:技术优势与SEO优化解析
PHP 500报错的快速解决方法
长沙做网站要多少钱,长沙国安网络怎么样?
官网建站费用明细查询_企业建站套餐价格及收费标准指南
如何做网站制作流程,*游戏网站怎么搭建?
宁波免费建站如何选择可靠模板与平台?
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
如何快速生成橙子建站落地页链接?
青浦网站制作公司有哪些,苹果官网发货地是哪里?
定制建站方案优化指南:企业官网开发与建站费用解析
建站之星伪静态规则如何正确配置?
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
简单实现Android验证码
天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
湖北网站制作公司有哪些,湖北清能集团官网?
如何选择靠谱的建站公司加盟品牌?
如何高效完成独享虚拟主机建站?
阿里云网站制作公司,阿里云快速搭建网站好用吗?
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
如何设置并定期更换建站之星安全管理员密码?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
如何访问已购建站主机并解决登录问题?
制作网站公司那家好,网络公司是做什么的?
高端建站如何打造兼具美学与转化的品牌官网?
宁波自助建站系统如何快速打造专业企业网站?
简历在线制作网站免费,免费下载个人简历的网站是哪些?
*请认真填写需求信息,我们会在24小时内与您取得联系。