この記事で共有した内容は、PHP の配列ソート関数に関するもので、一定の参考価値がありますので、困っている友人は参考にしてください。
関数のうち、u
があれば比較関数をカスタマイズでき、k
があればキーでソートできます。 ; r
(reverse) がある場合は逆順; a(association)
がある場合は、rsort()# を除き、キーと値の関連付けである必要があります。
##usort()
sort()
shuffle()、
a のない他のものはキーと値の関連付け、
array_multisort( ) キーと値の関連付けは維持されますが、数値型は維持されません。
asort
arsort
uasort は安定したソート、php5 の安定したソートを実現しました: http://php.net/manual/zh/func...
bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR [, mixed $... ]]] )
ソート タイプ フラグ:
- SORT_REGULAR (デフォルト) - 通常の方法で項目を比較します (タイプを変更せず、区別します) size 書き込み、大文字は小文字の前にソートされます)
- SORT_NUMERIC - 数値サイズに従って比較
- SORT_STRING - 文字列に従って比較 (サイズ依存書き込み)
- SORT_LOCALE_STRING - 現在のローカリゼーション設定に基づいて文字列を比較します。ロケール情報を使用します。ロケール情報は setlocale() を介して変更できます。
- SORT_NATURAL - natsort() と同様の文字列の「自然な並べ替え」
- #SORT_FLAG_CASE - SORT_STRING または SORT_NATURAL を (ビット単位の OR) 組み合わせて使用できます大文字と小文字を区別しない方法で文字列を並べ替えます。
$array2 は
$array1# の結果に基づきます。 ## MySQL のようなソート group by
$array = array('Alpha', 'atomic', 'Beta', 'bank'); $array_lowercase = array_map('strtolower', $array); // 先复制一个转为小写数组 array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array); // 先对小写数组排序,再排序原数组 print_r($array);
function array_orderby() { $args = func_get_args(); $data = array_shift($args); foreach ($args as $n => $field) { if (is_string($field)) { $tmp = array(); foreach ($data as $key => $row) $tmp[$key] = $row[$field]; $args[$n] = $tmp; } } $args[] = &$data; call_user_func_array('array_multisort', $args); return array_pop($args); }
2.sort
bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
と同じです。 3.rsort
bool rsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
4.asort
bool asort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
5.arsort
bool arsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
6.ksort
<pre class="brush:php;toolbar:false">bool ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] )</pre>
7.krsort
<pre class="brush:php;toolbar:false">bool krsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )</pre>
8.usort
<pre class="brush:php;toolbar:false">bool usort ( array &$array , callable $value_compare_func )</pre>
#$b に応じて、比較関数は 0 より小さい、0 と等しい、または 0 より大きい整数を返す必要があります。
#usort($a, array("TestObj", "cmp_obj"))
オブジェクト属性の並べ替え
bool uasort ( array &$array , callable $value_compare_func )
bool uksort ( array &$array , callable $key_compare_func )
bool natcasesort ( array &$array )
「自然な並べ替え」アルゴリズムを使用して配列を並べ替え、キーと値の関連付けを維持します
bool natsort ( array &$array )
この関数は、配列をスクランブル (セルの順序をランダムに配置) します。キー値が関連付けられていません
bool shuffle ( array &$array )
PHP でよく使用される 10 個の文字列関数とその使用方法の紹介
以上がPHP の 13 の配列ソート関数の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。