PHP实现二维数组按指定的键名排序的方法示例
本文实例讲述了PHP实现二维数组按指定的键名排序的方法。分享给大家供大家参考,具体如下:
$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($keysvalueas$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.jb51.net/aideddesign/zh_paixu
在线文本倒序翻转排序工具:
http://tools.jb51.net/aideddesign/flipped_txt
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php排序算法总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《php面向对象程序设计入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。