ホームページ  >  記事  >  バックエンド開発  >  PHP における一般的な配列ソート方法のまとめ

PHP における一般的な配列ソート方法のまとめ

藏色散人
藏色散人転載
2020-12-15 09:30:144530ブラウズ

1. 単純な配列のソートsort() 関数と rsort() 関数:

文法規則:

bool sort(array &array [,int sort_flags]
bool rsort(array &array [.int_sort_flags]

パラメーター:

最初のパラメータはソートされた配列オブジェクトです。

2 番目のパラメータは選択できるオプションの値です。

SORT_REGULAR: これはデフォルト値であり、ソート用の配列の要素タイプを自動的に識別します。
SORT_NUMERIC: 配列要素のソートに使用されます。
SORT_STRING: 文字列のソートに使用されます。
SORT_LOCALE_STRING: 現在のロケール設定に従って要素を文字列として比較します。

例:

$a=array(4,7,9,1);
sort($a);
pirnt_r($a);
rsort($a);
print_r($a);

2. キー名に従って配列を並べ替えます

定義: ksort () この関数は、キー名に従って配列を小さいものから大きいものに並べ替えます。 krsort()ksort()関数とは異なり、ソート後の配列値は元のキーが保持されます。

$data= array(5=>"five",8=>"eight",1=>"one",7=>"seven");
ksrot($data);
print_r($data);
krsot($data);
print_r($data);

3. 要素の値に応じて並べ替えます

定義: asort() 小さいものから大きいものへ/ arsort() 大きいものから小さいものまで、この関数を使用して並べ替えます。元のキー名は無視され、連続番号を使用して配列の添字を再インデックスします

例:

$data=array("a"=>1,"b"=>2,"c"=>3);
asort($data);
print_r($data);
arsort($data);
print_r($data);

4. Natural sort

Definition : 計算ルールの代わりに認識を使用する非常に特殊な並べ替え方法です。この機能は自然並べ替え方法と呼ばれます。つまり、1 から 9 までの数字、a から z までの文字で、短い方が与えられます。優先度。

例:

$data=array("file1.txt","file11.txt","file111.txt");
natsort($data);//普通自然排序
natcasesort($data);//忽略大小写

5. ユーザー定義の並べ替え規則に従う

文法規則:

bool usort(array &array ,callback cmp_function)
bool uasort(array &array,callback cmp_function)
bool uksort(array &array,callback cmp_function)

説明: カスタム コールバック関数にはそれぞれ 2 つのパラメーターが必要です配列の 2 つの連続する要素。最初のパラメータが 2 番目のパラメータより小さい、大きい、等しいと比較すると、それぞれ 0、1、-1 が返されます。

例:

$data= array("ab","abc","a","ac","abcd");
usrot($data,"mysortByLen");
function mysortByLen($one,$two){
 if(strlen($one)== strlen($two)){
  return 0;
 }else{
 return (strlen($one)>strlen($two))?1:-1;
}

6。配列のソート

定義: array_multisort()関数は、複数の配列をソートするか、特定の次元または複数の次元に従って多次元配列をソートします。

bool array_multisort(array array1 [,mixed arg,[,array ....]])

例:

$data=array(
  array("id"=>1,"name"=>4),
  array("id"=>1,"name"=>2),
  array("id"=>2,"name"=>3)
);
foreach($data as $key=>$value){
 $ids[$key]=$value["id"];
 $names[$key]=$value["name"]
}
array_multisort($data,$ids,$names);
print_r($data);

出力結果:

array(    array("id"=>1,"name"=>2),    array("id"=>1,"name"=>4),    array("id"=>2,"name"=>3)
 );

推奨: "PHP ビデオ チュートリアル"

以上がPHP における一般的な配列ソート方法のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。