array_multisort() 関数を使用して、複数の配列または多次元配列をソートします。配列のソートと多次元配列のソートを勉強している友人は参考にしてください。
関数 bool array_multisort ( array &$arr [,mixed $arg = SORT_ASC [,mixed $arg = SORT_REGULAR [,mixed $...]]] )
パラメータの説明: この関数は複数の配列または多次元配列をソートします
最初のパラメータは配列であり、後続の各パラメータは配列、または次の並べ替え順序フラグにすることができます
SORT_ASC - デフォルト、昇順で並べ替えます
SORT_DESC - 降順で並べ替えます
並べ替えタイプを指定できます
SORT_REGULAR -デフォルト 。各項目を規則正しい順序で並べます。
SORT_NUMERIC - 各項目を数値順に並べ替えます。
SORT_STRING - 各項目をアルファベット順に並べ替えます。
例:
コードをコピー コードは次のとおりです:
$arr1 = array('10', 11, 100, 100, 'a');
$arr2 = array(1, 2, 3 , '2', 5);
array_multisort($arr1, $arr2);
結果は次のようになります:
$arr1
Array ( [0] => 10 [1] => a [2] => 11 [3] => 100 [4] => 100 ) # ' 10 '11、100、100と比較すると、他の3つの数字より小さい整数10に変換されます
# '10'は、'a'と比較するときに文字列として使用され、その最初の文字'1 ' の ASCII コード値は 49 で、' a' より小さい (ASCII 値は 97) ため、'10' が最小の要素です
# 'a' は、他の 3 つの数値を比較するときに、より小さい整数 0 に変換されます。他の 3 つの数値
$arr2
Array ( [0] => ; 1 [1] => 5 [2] => 2 [3] => 2 [4] => 3 )
# $arr2要素 1 は $arr1 要素 '10' の位置に対応するため、ランク [0] になります 位置
# $arr1[2] => 100, $arr1[3] => 100 はそれぞれ $arr2 要素 3 と '2' に対応します。 3 は '2' より大きいため、2 => 100 に対応する $arr1[2] にはソートされた添字 3 が付けられ、3 => 100 に対応する $arr1[3] にはソートされた添字 4 が付きます
概要 - -- -------
1. ソートに参加する配列要素の数は変わりません
2. ソートされた配列要素の位置は、たとえば '10' => 1, 11 => に対応します。 2
3. 以下の配列は前の配列の順序に基づいて並べ替えられます
4. 前の配列が等しい要素に遭遇した場合、後の配列を比較します
以下は使用例です。マニュアルの例はそうではありません。リストにあるのは、私自身の作品からのほんの一部です。
おそらく仕事で最もよく遭遇するのは 3 次元配列でしょう。3 次元配列を試してみたかったのですが、よく考えた結果、やめました。
コードをコピーします
コードは次のとおりです:
header('Content-Type: text/html; charset=utf-8'); echo '
';配列形式
$ array = array(
'key1' => array(
'item1' => '65',
'item2' => '35',
'item3' => '84',
),
'key2' => array(
'item1' => '24',
),
'key3' => array(
'item1' => '38',
'item3' => ' 45',
),
);
//並べ替えるキー
//配列の item1 に従って並べ替えます
// item2 に変更することもできます
$sort = 'item1'; $array as $ k => $v)
{
$newArr[$k] = $v[$sort];
//この関数が正しく実行されると、元の配列の順序が直接変更されます。キーの値
//実行が失敗した場合は bool(false) を返します
array_multisort($newArr,SORT_DESC, $array);
//-------- ---------- --ソートされた配列の印刷効果が開始します-------------------
array(3) {
["key1"] =>
配列(3) {
["項目1"]=>
文字列(2) "65"
["項目2"]=>
文字列(2) "35"
["項目3"]= >
文字列(2) "84"
}
["キー3"]=>
配列(2) {
["項目1"]=>
文字列(2) "38"
=>
文字列(2) " 45"
}
["key2"]=>
配列(1) {
["item1"]=>
文字列(2) "24"
}
//----- ---------------ソートされた配列の印刷効果が終了します---------------------
http://www.bkjia.com/PHPjc/325455.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/325455.html
技術記事 array_multisort() 関数を使用して、複数の配列または多次元配列をソートします。配列のソートと多次元配列のソートを勉強している友人は参考にしてください。 関数 bool array_multisor...