Maison > Article > développement back-end > 关于PHP二维数组排序使用key实现_PHP教程
PHP数组有一维数组和而未数组,我们这里分析一下PHP二维数组排序的技巧。PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、Perl 以及 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>