关于PHP二维数组排序使用key实现

原创
2016-06-13 11:04:43 923浏览

PHP数组有一维数组和而未数组,我们这里分析一下PHP二维数组排序的技巧。PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。

它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的 CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用 户经常访问的PHP程序驻留在内存中,其他用户再一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体 现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。

PHP二维数组排序使用asort函数,但如果是多维数组按照其中某索引值进行排序。一般来说这类排序会引入临时数组来存储中间变量比如key值通过对key的排序实现多维数组的一个排序。以下是我写的一段按照二维数组中的时间值进行排序:

PHP二维数组排序代码:

  1. php
  2. //以时间InputDate为key值进行二维数组降序排列
  3. function array_sort($arr,$keys,$type){
  4. $keysvalue=array();
  5. $i = 0;
  6. foreach($arr as $key=>$val) {
  7. $val[$keys] = str_replace("-","",$val[$keys]);
  8. $val[$keys] = str_replace(" ","",$val[$keys]);
  9. $val[$keys] = str_replace(":","",$val[$keys]);
  10. $keysvalue[] =$val[$keys];
  11. }
  12. asort($keysvalue); //key值排序
  13. reset($keysvalue); //指针重新指向数组第一个
  14. foreach($keysvalue as $key=>$vals) {
  15. $keysort[] = $key;
  16. }
  17. $new_array = array();
  18. if($type != "asc"){
  19. for($ii=count($keysort)-1; $ii>=0; $ii--) {
  20. $new_array[] = $arr[$keysort[$ii]];
  21. }
  22. }else{
  23. for($ii=0; $iicount($keysort); $ii++){
  24. $new_array[] = $arr[$keysort[$ii]];
  25. }
  26. }
  27. return $new_array;
  28. }
  29. ?>

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。