ホームページ  >  記事  >  バックエンド開発  >  array_multisort — 複数の配列または多次元配列をソートする

array_multisort — 複数の配列または多次元配列をソートする

WBOY
WBOYオリジナル
2016-07-30 13:31:041118ブラウズ

array_multisort — 複数の配列または多次元配列を並べ替えます。成功した場合は true、それ以外の場合は false を返します。

入力配列はテーブルの列として扱われ、行ごとに並べ替えられます。これは SQL の ORDER BY 句の関数と似ています。最初の配列は、ソートされるメインの配列です。配列内の行 (値) が同じであると比較された場合、次の入力配列内の対応する値のサイズに従って並べ替えられます。
最初のパラメータは配列である必要があります。次の各引数には、以下にリストされている配列または並べ替えフラグを指定できます。

ソート順序フラグ:

? SORT_ASC – 昇順でソートします

SORT_DESC – 降順でソートします

? ソートタイプフラグ:

SORT_REGULAR – 通常の方法で項目を比較します

SORT_NUMERIC – 項目を数値順にソートします

?SORT_STRING - 文字列に従って項目を比較します

SORT_STRING と SORT_REGULAR では大文字と小文字が区別され、大文字は小文字よりも前に並べ替えられます。 ?

?各配列の後に 2 つの同様の並べ替えフラグを指定することはできません。各配列の後に指定されたソート フラグは、その配列に対してのみ有効です。それ以前は、デフォルト値 SORT_ASC および SORT_REGULAR が使用されていました。

//文字列キー名は保持されますが、数値キーは 0 から始まり 1 ずつ増加して再インデックスされます。

二次元配列のソートの場合、IDは降順、名前は昇順になりますか?

<code><span>$arrData</span> =

[

[<span>'id'</span> => <span>1</span>, <span>'name'</span> => <span>'haha'</span>],

[<span>'id'</span> => <span>0</span>, <span>'name'</span> => <span>'aaha'</span>],

[<span>'id'</span> => <span>2</span>, <span>'name'</span> => <span>'caha'</span>],

[<span>'id'</span> => <span>4</span>, <span>'name'</span> => <span>'zaha'</span>],

[<span>'id'</span> => <span>16</span>, <span>'name'</span> => <span>'daha'</span>],

];
<span>/*
现在有了包含有行的数组,但是 array_multisort() 需要一个包含列的数组,因此用以下代码来取得列,然后排序。 ?
*/</span><span>foreach</span>(<span>$arrData</span><span>as</span><span>$key</span>=><span>$value</span>)

{?

<span>$id</span>[<span>$key</span>]=<span>$value</span>[<span>'id'</span>];

<span>$arr</span>[<span>$key</span>]=<span>$value</span>[<span>'name'</span>];

}

<span>// 把排序数组 $arrData 作为最后一个参数</span>?array_multisort(<span>$id</span>, SORT_DESC, <span>$arr</span>, SORT_ASC, <span>$arrData</span>);

print_r(<span>$arrData</span>);</code>

転載または共有する場合はアドレスを指定してください: http://blog.csdn.net/w19981220

著作権に関する声明: 他人の労働の成果を尊重することは、自分自身を尊重することです。 !

上記では、複数の配列または多次元配列をソートする array_multisort をその側面も含めて紹介していますが、PHP チュートリアルに興味のある友人にとって役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。