ホームページ >バックエンド開発 >PHPチュートリアル >PHPの2次元配列のソートarray_multisort
この記事では主に PHP の 2 次元配列の array_multisort を紹介します。これには特定の参考値があります。必要な方は参考にしてください。2 次元配列または多次元配列のソートはよくある問題です。 PHP には、以下で簡単に紹介する特別な多次元配列ソート関数があります:
array1
並べ替え順序 | はオプションです。並べ替えの順序を指定します。可能な値は SORT_ASC と SORT_DESC です。 |
並べ替えタイプ | オプション。並べ替えの種類を指定します。可能な値は、SORT_REGULAR、SORT_NUMERIC、および SORT_STRING です。 |
array2 | オプション。入力配列を指定します。 |
array3 | オプション。入力配列を指定します。 |
パラメータ内の配列はテーブルの列として扱われ、行ごとに並べ替えられます。これは SQL の ORDER BY 句の機能と似ています。最初の配列は、ソートされるメインの配列です。配列内の行 (値) が同じである場合、次の入力配列内の対応する値のサイズに従って並べ替えられます。 | 最初のパラメータは配列であり、後続の各パラメータは配列または次の並べ替え順序フラグのいずれかになります (並べ替えフラグはデフォルトの並べ替え順序を変更するために使用されます): | SORT_ASC - デフォルト、昇順で並べ替えます。 (A-Z)
SORT_NUMERIC - 各項目を数値順に並べ替えます。
SORT_STRING - 各項目をアルファベット順に並べます
array_multisort(array1,sorting order, sorting type,array2,array3..) 是对多个数组或多维数组进行排序的函数。
<?php function my_sort($arrays,$sort_key,$sort_order=SORT_ASC,$sort_type=SORT_NUMERIC ){ if(is_array($arrays)){ foreach ($arrays as $array){ if(is_array($array)){ $key_arrays[] = $array[$sort_key]; }else{ return false; } } }else{ return false; } array_multisort($key_arrays,$sort_order,$sort_type,$arrays); return $arrays; } $person = array( array('id'=>1,'name'=>'fj','weight'=>100,'height'=>180), array('id'=>2,'name'=>'tom','weight'=>53,'height'=>150), array('id'=>3,'name'=>'jerry','weight'=>120,'height'=>156), array('id'=>4,'name'=>'bill','weight'=>110,'height'=>190), array('id'=>5,'name'=>'linken','weight'=>80,'height'=>200), array('id'=>6,'name'=>'madana','weight'=>95,'height'=>110), array('id'=>7,'name'=>'jordan','weight'=>70,'height'=>170) ); var_dump($person); $person = my_sort($person,'name',SORT_ASC,SORT_STRING); var_dump($person); $person = my_sort($person,'weight'); var_dump($person); ?>
転載元:
https://www.cnblogs.com/tdalcn/p/6420055.html
関連推奨事項:
PHP は 2 次元配列を文字列に切り分け、重複する値を削除します
php two次元配列内の 1 次元配列内のフィールドを並べ替える方法以上がPHPの2次元配列のソートarray_multisortの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。