ホームページ  >  記事  >  バックエンド開発  >  ベテランが PHP 配列ソートについて語る_PHP チュートリアル

ベテランが PHP 配列ソートについて語る_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-15 13:27:15792ブラウズ

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() 関数の簡単な紹介です

この関数は主に連想配列を比較するために使用され、その「姉妹」関数 uksort() は比較にカスタム関数を使用します。一言で言えば、連想系列の ksort() はキーをソートし、キー名のデータへの関連付けを保持します。配列の自然なソート これまでに知られているソート関数は、デフォルトの方法を使用するか、カスタムの方法でソートします。次に、natsort() は人間化された並べ替えメソッドを使用して配列を並べ替えます。ここでは詳細には触れません。PHP ヘルプ マニュアルが手元にない場合は、このサイトのオンライン ヘルプ マニュアルを参照して確認してください。
<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>

配列のソートについてはすでに理解していると思います。「残り物」については後ほど説明します。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/446529.html技術記事 PHP はまだ比較的一般的に使用されているため、PHP の配列ソートを研究し、ここで共有します。皆さんのお役に立てれば幸いです。 usort のカスタム並べ替えを理解したら、次は...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。