PHPには、単純なソート関数昇順、rsort降順などを含む、1次元配列ソート関数や2次元配列ソート関数を含む多くのデータソート関数があります。
php配列ソート関数には、
が含まれますsort (&$arr [,fruits] ) 配列を下位から上位にソートし、新しいキー名を割り当てます
。
rsort ( &$arr [,fruits] ) 配列を逆ソートし、新しいキー名を割り当てます
asort ( &$arr [,fruits] ) は配列をソートし、インデックスを変更しないようにします
arsort( &$arr [,fruits] ) は配列を逆順にソートし、インデックスを変更しないようにします
ksort ( &$arr [,fruits] ) 配列をキー名でソートします
krsort( &$arr [,fruits] ) は、グループ番号をキー名によって逆順にソートします
natsort( &$arr ) 配列のキー値に対して「自然な並べ替え」を実行し、長さ、アルファベットなどで並べ替えます。
natcasesort( &$arr ) は、大文字と小文字を区別しない配列の「自然なランキング」を実行します
usort ( &$arr , cmp_function ) ユーザー定義関数は配列をソートし、キー名を並べ替えます
uksort (&$arr, cmp_function) ユーザー定義関数は配列をキーでソートします
uasort (&$arr, cmp_function) ユーザー定義関数は配列をソートし、インデックスを変更しないようにします
array_multisort( $arr , 混合)
2 番目のパラメータは、値に基づいて並べ替え動作を変更します
SORT_REGULAR 通常の比較単位 SORT_NUMERIC 単位を数値として比較します
SORT_STRING セルは文字列として比較されます。 SROT_LOCALE_STRING セルは現在のローカル設定に従って文字列として比較されます
--------ソート関数昇順-------------------------- --- ------
bool sort ( array &$array [, int $sort_flags= SORT_REGULAR ] )
コードは次のとおりです | コードをコピー |
$fruits = array("レモン", "オレンジ", "バナナ", "リンゴ"); 0 => 文字列 「リンゴ」(長さ=5) 文字列 「バナナ」(長さ=6) 文字列 「レモン」(長さ=5) 文字列 「オレンジ」(長さ=6) |
----------------------rソート降順----------------------
コードは次のとおりです | コードをコピー |
$fruits = array("レモン", "オレンジ", "バナナ", "リンゴ"); 文字列 「オレンジ」(長さ=6) 文字列 「レモン」(長さ=5) 文字列 「バナナ」(長さ=6) 文字列 「リンゴ」(長さ=5) |
------asort は二次元配列の値を昇順にソートします (key=>value の関連付けを維持します)----------
コードは次のとおりです | コードをコピー |
$fruits = array("d" => "レモン", "a" => "オレンジ", "b" => "バナナ", "c" => "リンゴ"); 文字列 「リンゴ」(長さ=5) 文字列 「バナナ」(長さ=6) 文字列 「レモン」(長さ=5) 文字列 「オレンジ」(長さ=6) |
--------------arsort は 2 次元配列の値を降順にソートします (key=>value の関連付けを維持します)----------- ---
コードは次のとおりです | コードをコピー |
$fruits = array("d" => "レモン", "a" => "オレンジ", "b" => "バナナ", "c" => "リンゴ"); 文字列 「オレンジ」(長さ=6) 文字列 「レモン」(長さ=5) 文字列 「バナナ」(長さ=6) 文字列 「リンゴ」(長さ=5) |
----------ksort は配列をキーの昇順にソートします--------------
コードは次のとおりです | コードをコピー |
$fruits = array("d"=>"レモン", "a"=>"オレンジ", "b"=>"バナナ", "c"=>"リンゴ"); 'a' => 文字列 「オレンジ」(長さ=6) 文字列 「バナナ」(長さ=6) 文字列 「リンゴ」(長さ=5) 文字列 「レモン」(長さ=5) |
----------krsort は配列キーを降順にソートします----------- - ----------
コードは次のとおりです | コードをコピー |
$fruits = array("d"=>"レモン", "a"=>"オレンジ", "b"=>"バナナ", "c"=>"リンゴ"); 配列 文字列 「レモン」(長さ=5) 文字列 「リンゴ」(長さ=5) 文字列 「バナナ」(長さ=6) 文字列 「オレンジ」(長さ=6)
|
----------------usort 関数はユーザー定義関数に従って並べ替えます----------------
コードは次のとおりです | コードをコピー |
関数 cmp($a, $b) $a = 配列(3, 2, 5, 6, 1); usort($a, "cmp"); var_dump($a); int 1 int 2 int 3 int 5 int 6 |
-----------------uksort はカスタム関数を使用して配列をキーで並べ替えます-----------------
コードは次のとおりです | コードをコピー |
関数 cmp($a, $b) $a = array("ジョン" => 1, "地球" => 2, "リンゴ" => 3, "バナナ" => 4); uksort($a, "cmp"); var_dump($a); int 3 int 4 int 2 int 1 |
----------uasort はカスタム関数を使用して、インデックス関係を変更せずに値で配列を並べ替えます-----------
コードは次のとおりです | コードをコピー |
// 比較関数 //ソートされる配列
uasort($array, 'cmp'); 4
'b' => 8
'c' => -1
「d」=> -9
'e' => 2
'f' => 5
'g' => 3
'h' => -4
配列 -9
'h' => -4
'c' => -1
'e' => 2
'g' => 3
'a' => 4
'f' => 5
'b' => 8
|
コードは次のとおりです | コードをコピー |
$ar = 配列( 文字列 「10」(長さ=2) int 100 int 100 int 11 文字列 「a」(長さ=1) int 1 int 3 文字列 「2」(長さ=1) int 2 int 1 |
//説明:
1 上記の例では、$ar 配列は、まず $ar[0] の文字列値に従って昇順に配置され、文字列値が等しい場合は、数値に従って降順に配置されます。 $ar[1] 配列の値。
2. array_multisort 関数の任意の位置のパラメータが配列の場合、それは並べ替えに使用される値を表します。
複数の配列パラメーターがある場合、
などの定数の場合、前の配列値が最初にソートされます。
SORT_ASC、SORT_DESC、SORT_REGULAR、SORT_NUMERIC、SORT_STRING。
PHPの2次元配列ソート関数
次の関数は、指定されたキー値に従って指定された 2 次元配列を並べ替えます。まず関数の定義を見てみましょう。
コードをコピー | |
$keysvalue = $new_array = array();
foreach ($arr as $k=>$v){ |
http://www.bkjia.com/PHPjc/632806.html