組み込み関数を使用して PHP の多次元配列の並べ替えの問題を解決する_PHP チュートリアル

WBOY
リリース: 2016-07-15 13:27:29
オリジナル
839 人が閲覧しました

PHP を学習すると、PHP での多次元配列のソートの問題に遭遇することがあります。ここでは、PHP での多次元配列のソートの問題の解決策を紹介します。みんなの役に立つように。

サイズを比較し、配列のキーに従ってソートすることは言うまでもなく、PHPにはkrsort()、ksort()などの非常に便利な組み込み関数がたくさんあります。配列の値によっては面倒なこともあります。重複する値がない場合は、最初に array_flip() を使用してキーと値を交換し、次に krsort() を使用して、次に array_flip() でそれらを交換してサイズを比較します。重複する値がある場合は、いくつかの並べ替えアルゴリズムを使用する必要があります。ただし、PHP には、元のインデックスを維持する非常に便利なコールバック関数 uasort() とインデックスを再構築する usort() があります。 PHP 多次元配列ソート コード:
<ol class="dp-xml">
<li class="alt"><span><span class="tag"></span><span class="tag-name">php</span><span> </span></span></li>
<li class=""><span>functioncmp($a,$b){  </span></li>
<li class="alt"><span>if($a[”nums”]==$b[”nums”]){  </span></li>
<li class=""><span>return0;  </span></li>
<li class="alt"><span>}  </span></li>
<li class="">
<span>return($a[”nums”]</span><span class="tag"><</SPAN><SPAN>$b[”nums”])?-1:1;  </SPAN></SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>arr</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>Array</SPAN><SPAN>(  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute>0</SPAN><SPAN>=</SPAN><SPAN class=tag>></span><span>Array(  </span>
</li>
<li class="">
<span>“username”=</span><span class="tag">></span><span>owen,  </span>
</li>
<li class="alt">
<span>“nums”=</span><span class="tag">></span><span>2,  </span>
</li>
<li class=""><span>),  </span></li>
<li class="alt">
<span></span><span class="attribute">1</span><span>=</span><span class="tag">></span><span>Array(  </span>
</li>
<li class="">
<span>“username”=</span><span class="tag">></span><span>d5s,  </span>
</li>
<li class="alt">
<span>“nums”=</span><span class="tag">></span><span>5,  </span>
</li>
<li class=""><span>),  </span></li>
<li class="alt">
<span></span><span class="attribute">2</span><span>=</span><span class="tag">></span><span>Array(  </span>
</li>
<li class="">
<span>“username”=</span><span class="tag">></span><span>pt,  </span>
</li>
<li class="alt">
<span>“nums”=</span><span class="tag">></span><span>3,  </span>
</li>
<li class=""><span>),  </span></li>
<li class="alt"><span>);  </span></li>
<li class=""><span>uasort($arr,“cmp”);  </span></li>
<li class="alt">
<span>echo‘</span><span class="tag"><</SPAN><SPAN class=attribute>prestyle</SPAN><SPAN class=tag-name>prestyle</SPAN><SPAN>=”text-align:left”</SPAN><SPAN class=tag>></span><span>’;  </span>
</li>
<li class=""><span>print_r($arr);  </span></li>
<li class="alt">
<span>echo‘</span><span class="tag"><span class="tag-name">pre</span><span class="tag">></span><span>’;  </span></span>
</li>
<li class="">
<span></span><span class="tag">?></span><span> </span>
</li>
<li class="alt"><span> </span></li>
<li class=""><span>Array  </span></li>
<li class="alt"><span>(  </span></li>
<li class="">
<span>[0]=</span><span class="tag">></span><span>Array  </span>
</li>
<li class="alt"><span>(  </span></li>
<li class="">
<span>[username]=</span><span class="tag">></span><span>owen  </span>
</li>
<li class="alt">
<span>[nums]=</span><span class="tag">></span><span>2  </span>
</li>
<li class=""><span>)  </span></li>
<li class="alt"><span> </span></li>
<li class="">
<span>[2]=</span><span class="tag">></span><span>Array  </span>
</li>
<li class="alt"><span>(  </span></li>
<li class="">
<span>[username]=</span><span class="tag">></span><span>pt  </span>
</li>
<li class="alt">
<span>[nums]=</span><span class="tag">></span><span>3  </span>
</li>
<li class=""><span>)  </span></li>
<li class="alt"><span> </span></li>
<li class="">
<span>[1]=</span><span class="tag">></span><span>Array  </span>
</li>
<li class="alt"><span>(  </span></li>
<li class="">
<span>[username]=</span><span class="tag">></span><span>d5s  </span>
</li>
<li class="alt">
<span>[nums]=</span><span class="tag">></span><span>5  </span>
</li>
<li class=""><span>)  </span></li>
<li class="alt"><span> </span></li>
<li class=""><span>) </span></li>
</ol>
ログイン後にコピー

www.bkjia.com本当http://www.bkjia.com/PHPjc/446522.html技術記事 PHPを学習していると、PHPで多次元配列をソートする問題に遭遇することがあります。ここでは、PHPで多次元配列をソートする問題の解決策を紹介します。お役に立てば幸いです。みなさんへ…
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!