首页 >php教程 >php手册 >关于PHP二维数组排序使用key实现

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

WBOY
WBOY原创
2016-06-13 11:04:431222浏览

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二维数组排序代码:

<ol class="dp-xml">
<li class="alt"><span><strong><font color="#006699"><span class="tag"></span><span class="tag-name">php</span></font></strong><span> </span></span></li>
<li class=""><span>//以时间InputDate为key值进行二维数组降序排列  </span></li>
<li class="alt"><span> function array_sort($arr,$keys,$type){   </span></li>
<li class="">
<span>$</span><span class="attribute"><font color="#ff0000">keysvalue</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">array</font></span><span>();  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute"><font color="#ff0000">i</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">0</font></span><span>;  </span>
</li>
<li class="">
<span>foreach($arr as $</span><span class="attribute"><font color="#ff0000">key</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>$val) {  </span>
</li>
<li class="alt"><span>$val[$keys] = str_replace("-","",$val[$keys]);  </span></li>
<li class=""><span>$val[$keys] = str_replace(" ","",$val[$keys]);  </span></li>
<li class="alt"><span>$val[$keys] = str_replace(":","",$val[$keys]);  </span></li>
<li class=""><span>$keysvalue[] =$val[$keys];  </span></li>
<li class="alt"><span>   </span></li>
<li class=""><span>}   </span></li>
<li class="alt"><span>asort($keysvalue); //key值排序  </span></li>
<li class=""><span>reset($keysvalue); //指针重新指向数组第一个  </span></li>
<li class="alt">
<span>foreach($keysvalue as $</span><span class="attribute"><font color="#ff0000">key</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>$vals) {   </span>
</li>
<li class=""><span>$keysort[] = $key;   </span></li>
<li class="alt"><span>}   </span></li>
<li class="">
<span>$</span><span class="attribute"><font color="#ff0000">new_array</font></span><span> = array();  </span>
</li>
<li class="alt"><span>if($type != "asc"){  </span></li>
<li class="">
<span>for($</span><span class="attribute"><font color="#ff0000">ii</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">count</font></span><span>($keysort)-1; $ii</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>=0; $ii--) {   </span>
</li>
<li class="alt"><span>$new_array[] = $arr[$keysort[$ii]];   </span></li>
<li class=""><span>}   </span></li>
<li class="alt"><span>}else{  </span></li>
<li class="">
<span>for($</span><span class="attribute"><font color="#ff0000">ii</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">0</font></span><span>; $ii</span><strong><font color="#006699"><span class="tag"><span class="tag-name">count</span></span></font></strong><span>($keysort); $ii++){  </span>
</li>
<li class="alt"><span>$new_array[] = $arr[$keysort[$ii]];  </span></li>
<li class=""><span>}  </span></li>
<li class="alt"><span>}  </span></li>
<li class=""><span>return $new_array;   </span></li>
<li class="alt"><span>}   </span></li>
<li class="">
<span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span>
</li>
</ol>

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