ホームページ >バックエンド開発 >PHPチュートリアル >ベテランが PHP 配列ソートについて語る_PHP チュートリアル
PHP はまだ比較的一般的に使用されているため、PHP の配列ソートを研究し、ここで皆さんに共有したいと思います。 usort のカスタム ソートを理解した後、sort() を見てみましょう。この関数は配列のソート関数の元祖であると言えます。すべての PHP 配列ソート関数に接尾辞として sort が付いていることがわかったはずです。関数プロトタイプ: bool sort (array &array [, int sort_flags]) 説明: 基本的にすべての関数にはオプションのパラメーターがあり、sort も例外ではありません。このオプションのパラメータで指定される規則。
オプションの型は次のとおりです:
◆SORT_REGULAR - 通常の比較単位 (型は変更しません) // ASCII 値で並べ替えます (B は a より大きい)
◆SORT_NUMERIC - 単位は数値として比較されます // 整数と浮動小数点の場合ポイント番号 このパラメータは一般的に使用されます
◆SORT_STRING – 単位は文字列として比較されます
◆SORT_LOCALE_STRING – 単位は現在のロケール設定に従って文字列として比較されます
ヘルプマニュアルから例を見てみましょう:
<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> <li class=""> <span>$</span><span class="attribute"><font color="#ff0000">fruits</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">array</font></span><span>("lemon", "orange", "banana", "apple"); </span> </li> <li class="alt"><span>sort($fruits); </span></li> <li class=""> <span>foreach ($fruits as $</span><span class="attribute"><font color="#ff0000">key</font></span><span> =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> $val) { </span> </li> <li class="alt"><span>echo "fruits[".$key."] = " . $val . "n"; </span></li> <li class=""><span>} </span></li> <li class="alt"> <span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span> </li> </ol>
this 結果PHP 配列のソートは次のとおりです。
<ol class="dp-xml"> <li class="alt"><span><span>fruits[0] = apple </span></span></li> <li class=""><span>fruits[1] = banana </span></li> <li class="alt"><span>fruits[2] = lemon </span></li> <li class=""><span>fruits[3] = orange </span></li> </ol>
インデックス 0 のレモンであることがわかりますが、ソート後はリンゴになっていることがわかります。元のキー/値を変更しないようにするには、sort() を asort() に置き換えます。さらに、これら 2 つの関数はキーを昇順に配置します (a が b の前になります)。降順にしたい場合は、代わりに rsort() を使用してください。対応する arsort() は、元のキーと値の相関関係を維持します。
以下は ksort() 関数の簡単な紹介です
<ol class="dp-xml"> <li class="alt"><span><span>shuffle()//函数的使用 </span></span></li> <li class=""><span>Shuffle()//用来对一个数组进行随机排序,这个有点像抽签,其他的就不多说了。到用的时候再看吧。 </span></li> <li class="alt"><span>array_rand()//函数的使用 </span></li> <li class=""><span>array_rand()//函数和shuffle()差不多,也是随机返回数组中的元素,如下调用: </span></li> <li class="alt"><span>array_rand ( array [, int num_req] ) //可选参数指出你要返回的个数。 </span></li> </ol>
配列のソートについてはすでに理解していると思います。「残り物」については後ほど説明します。