ホームページ > バックエンド開発 > PHPチュートリアル > PHPの多次元配列ソート方法をすぐにマスター_PHPチュートリアル

PHPの多次元配列ソート方法をすぐにマスター_PHPチュートリアル

WBOY
リリース: 2016-07-15 13:28:40
オリジナル
943 人が閲覧しました

PHP を学習しているとき、PHP の多次元配列のソートの問題に混乱するかもしれません。この記事では、PHP の多次元配列のソートの原理を詳しく紹介します。 PHP では、多次元配列に対してより複雑なソートを実行することもできます。たとえば、最初に共通キーを使用してネストされた配列をソートし、次に別のキーに基づいてソートします。これは、SQL の ORDER BY ステートメントを使用して複数のフィールドを並べ替えるのとよく似ています。どのように動作するかをよりよく理解するために、与えられた例を注意深く見てください:

<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 class=attribute><FONT color=#ff0000>data</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN>(array("id" =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></span></font></strong></span><span> 1, "name" =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> "Boney M", "rating" =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 3),  </span>
</li>
<li class="">
<span>array("id" =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 2, "name" =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> "Take That", "rating" =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 1),  </span>
</li>
<li class="alt">
<span>array("id" =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 3, "name" =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> "The Killers", "rating" =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 4),  </span>
</li>
<li class="">
<span>array("id" =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 4, "name" =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> "Lusain", "rating" =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 3),  </span>
</li>
<li class="alt">
<span>); foreach ($data as $</span><span class="attribute"><font color="#ff0000">key</font></span><span> =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> $value) {  </span>
</li>
<li class=""><span>$name[$key] = $value['name'];  </span></li>
<li class="alt"><span>$rating[$key] = $value['rating'];  </span></li>
<li class=""><span>}  </span></li>
<li class="alt"><span> </span></li>
<li class="">
<span>array_multisort($rating, $name, $data); print_r($data);</span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span>
</li>
</ol>
ログイン後にコピー

array_multisort() 関数は PHP で最も便利な関数の 1 つであり、非常に幅広い用途があります。さらに、この例でわかるように、無関係な複数の配列を並べ替えたり、1 つの要素を次の並べ替えの基礎として使用したり、データベースの結果セットを並べ替えたりすることもできます。これらの例は、PHP の多次元配列ソート関数の使用方法を予備的に理解し、PHP 配列処理ツールキットに隠されている内部関数のいくつかも示します。ここでは、$data 配列内の行と列の配列をシミュレートします。次に、array_multisort() 関数を使用して、最初に評価によってデータ セットを並べ替えます。次に、評価が等しい場合は名前によってデータ セットを並べ替えます。その出力は次のとおりです:
<ol class="dp-xml">
<li class="alt"><span><span>Array ([0] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> Array  </span></span></li>
<li class=""><span>(  </span></li>
<li class="alt">
<span>[id] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 2  </span>
</li>
<li class="">
<span>[name] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> Take That  </span>
</li>
<li class="alt">
<span>[rating] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 1  </span>
</li>
<li class="">
<span>) [1] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> Array  </span>
</li>
<li class="alt"><span>(  </span></li>
<li class="">
<span>[id] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 1  </span>
</li>
<li class="alt">
<span>[name] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> Boney M  </span>
</li>
<li class="">
<span>[rating] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 3  </span>
</li>
<li class="alt"><span>)  </span></li>
<li class="">
<span>[2] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> Array  </span>
</li>
<li class="alt"><span>(  </span></li>
<li class="">
<span>[id] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 4  </span>
</li>
<li class="alt">
<span>[name] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> Lusain  </span>
</li>
<li class="">
<span>[rating] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 3  </span>
</li>
<li class="alt"><span>)  </span></li>
<li class="">
<span>[3] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> Array  </span>
</li>
<li class="alt"><span>(  </span></li>
<li class="">
<span>[id] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 3  </span>
</li>
<li class="alt">
<span>[name] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> The Killers  </span>
</li>
<li class="">
<span>[rating] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 4  </span>
</li>
<li class="alt"><span>)  </span></li>
<li class=""><span>)  </span></li>
</ol>
ログイン後にコピー

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/446444.html技術記事 PHP を学習しているとき、PHP の多次元配列のソートの問題で混乱することがあります。この記事では、PHP の多次元配列のソートの原理を詳しく紹介します。 PHP も許可されています...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート