ホームページ  >  記事  >  バックエンド開発  >  key_PHP チュートリアルを使用した PHP 2 次元配列のソートについて

key_PHP チュートリアルを使用した PHP 2 次元配列のソートについて

WBOY
WBOYオリジナル
2016-07-15 13:28:04799ブラウズ

PHP 配列には 1 次元配列と非配列が含まれます。ここでは、PHP の 2 次元配列をソートする手法を分析します。 PHP は、ネストされた略語名で、英語の Hypertext Preprocessing Language (PHP: Hypertext Preprocessor) の略称です。 PHP は、サーバー側で実行され、HTML ドキュメントに埋め込まれるスクリプト言語であり、現在多くの Web サイト プログラマーによって広く使用されています。 PHP の独自の構文は、C、Java、Perl、および PHP 独自の革新的な構文を組み合わせたものです。

CGI や Perl よりも高速に動的 Web ページを実行できます。 PHP で作成された動的ページは、他のプログラミング言語と比較して、プログラムを HTML ドキュメントに埋め込んで実行するため、HTML タグを完全に生成する CGI よりも実行効率が高く、同じく HTML に埋め込まれているスクリプト言語 JavaScript と比較して、対照的に、PHP はサーバー側で実行され、サーバーのパフォーマンスを最大限に活用します。PHP 実行エンジンは、ユーザーが頻繁にアクセスする PHP プログラムもメモリに保存するため、他のユーザーがアクセスするときにプログラムを再コンパイルする必要はありません。プログラムを再度メモリ内で直接実行するだけです。これも PHP の効率の高さの現れの 1 つです。 PHP には非常に強力な機能があり、すべての CGI または JavaScript 関数を 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>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/446494.html技術記事 PHP 配列には 1 次元配列と非配列があります。ここでは、PHP で 2 次元配列をソートする手法を分析します。 PHP は、ネストされた略語名で、英語のハイパーテキスト前処理言語 (PHP:Hy...
) です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。