結果: 配列 'c' => 文字列 'apple' (length=5) 'b' => 文字列 'banana' (length=6) 'd' => 文字列 'レモン' (長さ=5) ' a' => 文字列 'オレンジ' (長さ=6)
--------------arsort は 2 次元配列の値を降順にソートします (key=>value の関連付けを維持します)----------- --- コードは以下の通りです | コードをコピー |
$fruits = array("d" => "レモン", "a" => "オレンジ" ", "b" => "バナナ", "c" => "リンゴ"); arsort($fruits); var_dump($fruits); ?> 結果 array 'a' = > 文字列 'オレンジ' (長さ = 6) 'd' => 文字列 'レモン' (長さ = 5) 'b' => string 'apple' (length=5 )
---------------------ksortは配列のキーによって昇順にソートされます---------- ------- "レモン", "a"=>"オレンジ", "b"=>"バナナ", "c"= >"apple");ksort($fruits) ; var_dump($fruits); ?> 結果 配列 'a' => 文字列 'オレンジ' (長さ=6) 'b' = > 文字列 'バナナ' (長さ=6) ' c' => 文字列 'リンゴ' (長さ=5) 'd' => 文字列 'レモン' (長さ=5)
| -- ------------- ------krsort 配列キーの降順にソート---------------------- --------
コードは次のとおりです コードをコピーします | |
$fruits = array("d"=>"lemon", "a"= >"オレンジ", "b"=>"バナナ", "c"=>"リンゴ");krsort($fruits); var_dump($fruits); ?>
配列 ' d' => 文字列 'レモン' (長さ=5) ' c' => 文字列 'リンゴ' (長さ=5)'b' => 文字列 'バナナ' (長さ=6) => 文字列 'オレンジ' (長さ=6)
| -----usort 関数はユーザー定義関数に従ってソートします----- -------- コードは次のとおりです コードをコピー | | function cmp($a, $b) {if ($a == $b) { return 0; } return ($a < $b ) ? -1 : 1; }
$a = array(3, 2, 5, 6, 1);
usort( $a, "cmp"); var_dump($a); ?>結果: array0 => int 1 1 => int 2 2 => int 3 => ; int 5 4 => int 6
---------------------------------uksort は配列のキーでソートします----- ------------ | コードは以下の通りです コードをコピー |
function cmp($a, $b) | {$a = preg_replace('@^(a|an|the) @', '', $a);$b = preg_replace('@^(a|an|the) @', '', $b); return strcasecmp($a, $b); }
$a = array("ジョン" => 1 , "地球" => 2, "リンゴ" => 3, "バナナ" = > 4);
uksort($a, "cmp"); var_dump($a); ?> 結果: 配列 'リンゴ' => int 3'バナナ' = > int 4 '地球' => int 2 'ジョン' => int 1
------uasort はカスタム関数を使用して、インデックス関係を変更せずに値で配列を並べ替えます-----------
コード以下の通り | コードをコピー |
// 比較関数 function cmp($a, $b) { if ($a == $b) { return 0; } return ( $a < $b) ? -1 : 1; } // ソートする配列 $array = array('a' => 4, 'b' => 8, 'c' = > -1、'd' => 2、'g' => 3); var_dump; ( $array);
// 結果の array を並べ替えて出力します uasort($array, 'cmp'); var_dump($array); ?> Result: array 'a' => int; 4 'b' => int 8 'c' => int -1 'e' => int 2 'f' => g ' => int 3 'h' => int -4 'd' => int -4 'c' => ' e' => int 2 ' g' => int 3 ' f' => int 5 ' b' => int; - ------------------array_multisort 複数の配列または多次元配列をソートします----------
コードは次のとおりです コードをコピーします |
< ;?php $ar = array(array("10", 11, 100, 100, "a"),array( 1, 2, "2", 3, 1)); |
array_multisort($ ar[0], SORT_ASC, SORT_STRING, | $ar[1], SORT_NUMERIC, SORT_DESC); var_dump($ar);?>結果: array 0 => array 0 => 文字列 '10' (長さ = 2) 1 => int 100 3 => int 114 => 1 => 配列 0 => int 1
1 => int 3 2 => int 2 4 => 1 //説明: 1 上記の例では、$ar 配列は、まず $ar[0] の文字列値に従って昇順に並べられます。文字列値が等しい場合は、次に並べられます。 $ar[1] 配列の数値に従って降順で並べられます。 2 array_multisort 関数の任意の位置のパラメータが配列の場合、それは並べ替えに使用される値を表します。 複数の配列パラメータがある場合、 などの定数の場合は、前の配列の値が最初に並べ替えられます。 SORT_ASC、SORT_DESC、SORT_REGULAR、SORT_NUMERIC、SORT_STRING. はソート方法を示します(配列値が最初に取得されます)。
|
http://www.bkjia.com/PHPjc/444669.html
www.bkjia.com
本当
http://www.bkjia.com/PHPjc/444669.html
技術記事 PHPには多数の配列ソート関数が用意されています。PHP配列ソートの使い方を一つずつ紹介していきます。 配列はソート関数のパラメータとして使用され、ソート後は配列自体が... |
。
|