ホームページ >バックエンド開発 >PHPチュートリアル >key_PHP チュートリアルを使用した PHP 2 次元配列のソートについて
PHP 配列には 1 次元配列と非配列が含まれます。ここでは、PHP の 2 次元配列をソートする手法を分析します。 PHP は、ネストされた略語名で、英語の Hypertext Preprocessing Language (PHP: Hypertext Preprocessor) の略称です。 PHP は、サーバー側で実行され、HTML ドキュメントに埋め込まれるスクリプト言語であり、現在多くの Web サイト プログラマーによって広く使用されています。 PHP の独自の構文は、C、Java、Perl、および PHP 独自の革新的な構文を組み合わせたものです。
PHP は、2 次元配列の並べ替えに asort 関数を使用しますが、それが多次元配列の場合は、いずれかのインデックス値に従って並べ替えられます。一般に、このタイプの並べ替えでは、キー値などの中間変数を格納する一時配列が導入され、キーを並べ替えることによって多次元配列の並べ替えが実現されます。以下は、2 次元配列の時間値に従ってソートするために作成したコードです:
PHP 2 次元配列ソート コード:
<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 class=""><SPAN>//以时间InputDate为key值进行二维数组降序排列 </SPAN><LI class=alt><SPAN> function array_sort($arr,$keys,$type){ </SPAN><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></SPAN><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></SPAN><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>></span></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><SPAN class=tag-name>count</SPAN></FONT></STRONG><SPAN>($keysort); $ii++){ </SPAN></SPAN><LI class=alt><SPAN>$new_array[] = $arr[$keysort[$ii]]; </SPAN><LI class=""><SPAN>} </SPAN><LI class=alt><SPAN>} </SPAN><LI class=""><SPAN>return $new_array; </SPAN><LI class=alt><SPAN>} </SPAN><LI class=""><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></span></font></strong><span> </span> </li> </ol>