PHP 配列を使用するときに、PHP 配列のマージの問題が発生することがあります。この記事では、PHP 配列のマージと PHP 配列のソートについて説明します。 PHP 配列のソートは、実際には PHP 配列をソートします。 1995 年半ばに、PHP 2.0 がリリースされました。 2 番目のバージョンは PHP/FI (フォーム インタプリタ) と呼ばれます。 PHP/FI は mSQL のサポートを追加し、それ以来、動的 Web 開発における PHP の地位を確立しました。
<ol class="dp-xml"> <li class="alt"><span><span>volume | edition </span></span></li> <li class=""><span>-------+-------- </span></li> <li class="alt"><span>67 | 2 </span></li> <li class=""><span>86 | 1 </span></li> <li class="alt"><span>85 | 6 </span></li> <li class=""><span>98 | 2 </span></li> <li class="alt"><span>86 | 6 </span></li> <li class=""><span>67 | 7 </span></li> </ol>
データはすべて data という名前の配列に格納されます。これは通常、mysql_fetch_assoc() などのループを通じてデータベースから取得された結果です (実際、この関数は mysql_fetch_assoc() 関数と同じと考えることができます。具体的な違いについては、次のキーの違いを参照してください。 PHP マニュアルを参照してください)。
<ol class="dp-xml"> <li class="alt"><span><span>$data[] = array('volume' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 67, 'edition' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 2); </span></span></li> <li class=""> <span>$data[] = array('volume' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 86, 'edition' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 1); </span> </li> <li class="alt"> <span>$data[] = array('volume' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 85, 'edition' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 6); </span> </li> <li class=""> <span>$data[] = array('volume' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 98, 'edition' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 2); </span> </li> <li class="alt"> <span>$data[] = array('volume' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 86, 'edition' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 6); </span> </li> <li class=""> <span>$data[] = array('volume' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 67, 'edition' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 7); </span> </li> </ol>
この例では、ボリュームは降順でソートされ、エディションは昇順でソートされます。
これで行を含む配列ができましたが、array_multisort() には列を含む配列が必要なので、次のコードを使用して列を取得し、並べ替えます。
<ol class="dp-xml"> <li class="alt"><span><span>// 取得列的列表 </span></span></li> <li class=""> <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> $row) { </span> </li> <li class="alt"><span>$volume[$key] = $row['volume']; </span></li> <li class=""><span>$edition[$key] = $row['edition']; </span></li> <li class="alt"><span>} </span></li> <li class=""><span> </span></li> <li class="alt"><span>// 将数据根据 volume 降序排列,根据 edition 升序排列 </span></li> <li class=""><span>// 把 $data 作为最后一个参数,以通用键排序 </span></li> <li class="alt"><span>array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data); </span></li> </ol>
PHP 配列はマージされ、ソートされ、結果は次のようになります:
<ol class="dp-xml"> <li class="alt"><span><span>volume | edition </span></span></li> <li class=""><span>-------+-------- </span></li> <li class="alt"><span>98 | 2 </span></li> <li class=""><span>86 | 1 </span></li> <li class="alt"><span>86 | 6 </span></li> <li class=""><span>85 | 6 </span></li> <li class="alt"><span>67 | 2 </span></li> <li class=""><span>67 | 7 </span></li> </ol>
実際、ソート時に使用できるメソッドは多数あります。例えば、arsort()、asort()、ksort() などです。 PHP の配列 array )、krsort()、natsort()、natcasesort()、rsort()、usort()、array_multisort()、および uksort()。