一次元配列のソート
1.ソート、rsortソート(降順にR(示さ逆フリップ、すなわち))、ソートキーによって。
<?PHP $ ARR = 配列(10,2,4,1,5,8,7,9 ); // $ ARR =配列( '0'に相当 => 10、 '1' => 2、 ' 2 '=> 4、' 3 '=> 1、' 4 '=> 5' 5 '=> 8、' 6 '=> 7、' 7「=> 9); //デフォルトソートキー値昇順、キー名が再指定され、例えば、10元のキーの名前は現在、0である7。 ソート($のARR ) のvar_dump($ ARR ); / * 配列(サイズ= 8) 。0 => INT 1 。1 => INT 2 2 => INT。4 。3 => INT。5 。4 => INT。7 。5 => INT。8 。6 => INT。9 。7 => 10 INT * / ?>
<?PHP の$編曲 = 配列(10,2,4,1,5,8,7,9 ); // 降順でソートデフォルトのキー値、新規定、同書のから鍵た rsort($のARR ); のvar_dump($ ARR ); / * 配列(サイズ= 8) 0 => 10 int型 。。1 => INT 9 。2 => INT 8 。3 => INT 7 。4 => INT 5 。5 => INT 4。 6 => INT 2。 7 =。 > int型1 * / ?>
2. ksortは、キー名でソート、ソートkrsort。
<?PHP $ ARR = アレイ(10,2,4,1,5,8,7,9 ); // 昇順でキーのキー ksort($のARR ); のvar_dump($のARR ); / * 配列(サイズ= 8) 0 => 10 INT 1 => 2の整数 2 => INT。4 。3 => INT。1 。4 => INT。5 。5 => INT。8 。6 => INT。7 。7 => INT。9 * / ?>
<?PHP の$編曲 = 配列(10,2,4,1,5,8,7,9 ); // ボタンキー名順の降順で krsort($ ARRを); のvar_dump($のARR ); / * 配列(サイズ= 。8) 。7 => INT。9 。6 => INT。7 。5 => INT。8 。4 => INT。5 。3 => INT。1 2 => INT。4 。1 => 2の整数 0 => 10 INT * / ?>
3. ASORTは、キーによるソート、ソートarsort。
<?PHPの $の編曲 = 配列(10,2,4,1,5,8,7,9 ); // ボタンの昇順のキー、およびソート異なるキーは再定義しないということです ASORT($のARR ) ; のvar_dump($ ARR ); / * 配列(サイズ= 8) 。3 => INT 1 。1 => INT 2 。2 => INT 4 。4 => INT 5 。6 => INT 7 。5 => INT 8。 7 => INT 9。 = 0> 10のint * / ?>
<?PHP の$編曲 = 配列(10,2,4,1,5,8,7,9 ); // 降順でボタンキー、および異なるrsortは、キーが再定義しないということです arsort($のARRを) ; のvar_dump($のARR ); / * (サイズ= 8)アレイ 0 => INT 10 。7 => INT 9 。5 => INT 8 。6 => INT 7 。4 => INT 5 。2 => INT 4 。1 => INT 2 = 3> 1つのint型* / ?>
二次元アレイはキーに従ってソートされ
// 二维数组排序 関数 sortArr($配列、$ sort_key、$ SORT_ORDER = SORT_ASC、$ sort_typeに指定 = SORT_NUMERIC){ $ key_arrays = 配列(); もし(IS_ARRAY($配列)){ foreachの($配列 として $配列){ 場合(IS_ARRAY($配列)){ $ key_arrays [] = $配列 [ $ sort_key ]。 } 他{ 戻り falseに; } } } そう{ 戻り falseに; } array_multisort($ key_arraysを、SORT_ORDER $、$ sort_typeに指定し、$配列は;) を返す $配列を; } // 例えば、データ構造から読み出さ$データは、二次元配列を表します各行の複数行テーブル構造、「日付」フィールドには内部を表し、ソートすることによってこのフィールド // SORT_DESCは降順で発現するための文字列として比較SORT_STRING「日付」フィールドを提供 $あるnewData = $この - > sortArr ($データ、 'DATE'、SORT_DESC、SORT_STRING)。
複数のキーでソートされた二次元配列
// 二维数组多键值排序 関数 my_sort($配列、$ sort_key、$ sort_key1、$ SORT_ORDER = SORT_ASC、$ sort_order1 = SORT_DESC){ $ key_arrays = $ key_arrays1 = 配列(); もし(IS_ARRAY($配列)){ foreachの($配列 として $配列){ 場合(IS_ARRAY($配列)){ $ key_arrays [] = $配列 [$ sort_key ]; $ key_arrays1 [] = $配列 [ $ sort_key1 ]; } そう{ リターン はfalse ; } } } そう{ リターン はfalse ; } array_multisort($ key_arrays、SORT_ORDERを$、$ key_arrays1、$ sort_order1、$配列); リターン アレイ$ ; } // $データは、例えば、複数行のテーブル構造のデータ構造から読み出され、二次元配列を表します //「DATE」は、このフィールドをソートの内側の各行のフィールドを表し、そして「時間」フィールドの順序によって、 // SORT_DESC、SORT_ASC対応する「日付」、ソート「時間」二つのフィールド //エフェクトデータDESC、時間ASCにより、類似したデータベースの順。 あるnewData $ = $この - > sortArr($データ、 'DATE'、 '時間'、SORT_DESC、SORT_ASC)。
マイクロチャネル公共番号から:プログラミング協会
高度なプログラマ毎日本は、注意してください!