PHP の開発には長い時間がかかり、多くのユーザーが PHP の 2 次元配列に関する関連知識をオンラインで収集しましたので、ここで共有したいと思います。 -次元配列。
<ol class="dp-xml"><li class="alt"><span><span>boolarray_multisort(array$ar1[,mixed$arg[,mixed$...[,array$...]]]) </span></span></li></ol>
以下はマニュアルの array_multisort 関数の説明です:
<ol class="dp-xml"> <li class="alt"><span><span>array('id'=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>array(1,3,2), </span></span></li> <li class=""> <span>'data'=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>array('a','c','b')) </span> </li> </ol>
ID で多次元に並べ替えるだけで準備完了です。しかし、多くの場合、私たちが構築する PHP の 2 次元配列は次のようになります:
<ol class="dp-xml"> <li class="alt"><span><span>array( </span></span></li> <li class=""> <span>array('id'=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>1,'data'=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'a'), </span> </li> <li class="alt"> <span>array('id'=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>3,'data'=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'c'), </span> </li> <li class=""> <span>array('id'=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>2,'data'=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'b') </span> </li> <li class="alt"><span>); </span></li> </ol>
配列の要素は行に配置されており、列の 1 つでソートする必要があります。 PHP には行列転置のような機能が提供されていないようです。そのため、array_multisort を多次元ソートに直接使用することはできません。ただし、最初にソートされた列を抽出し、それを最初のパラメータとして array_multisort に渡すだけで済みます。
<ol class="dp-xml"> <li class="alt"><span><span>functionmulti_array_sort($multi_array,$sort_key,$</span><span class="attribute"><font color="#ff0000">sort</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">SORT_ASC</font></span><span>){ </span></span></li> <li class=""><span>if(is_array($multi_array)){ </span></li> <li class="alt"><span>foreach($multi_arrayas$row_array){ </span></li> <li class=""><span>if(is_array($row_array)){ </span></li> <li class="alt"><span>$key_array[]=$row_array[$sort_key]; </span></li> <li class=""><span>}else{ </span></li> <li class="alt"><span>return-1; </span></li> <li class=""><span>} </span></li> <li class="alt"><span>} </span></li> <li class=""><span>}else{ </span></li> <li class="alt"><span>return-1; </span></li> <li class=""><span>} </span></li> <li class="alt"><span>array_multisort($key_array,$sort,$multi_array); </span></li> <li class=""><span>return$multi_array; </span></li> <li class="alt"><span>} </span></li> </ol>
以上は PHP の 2 次元配列の簡単な紹介でした。皆さんのお役に立てれば幸いです。