ホームページ  >  記事  >  バックエンド開発  >  PHP 配列の組み込みソート方法について話しましょう

PHP 配列の組み込みソート方法について話しましょう

PHPz
PHPzオリジナル
2023-04-19 09:22:22432ブラウズ

PHP では、配列は非常に一般的に使用されるデータ型です。配列処理の場合、ソートは非常に重要な操作です。 PHP には、多くの組み込みの並べ替え関数があります。この記事では、PHP 配列の組み込みソート方法を紹介します。

  1. sort()

sort() 関数は、配列を昇順に並べ替えるために使用されます。具体的な構文は次のとおりです。

sort(array &$array [, int $sort_flags = SORT_REGULAR]): bool

その中で、$array は並べ替える必要がある配列を表し、$ sort_flags はソート規則を表します。デフォルトでは、ソートは昇順です。$sort_flags オプションのパラメータには次のタイプがあります:

  • SORT_REGULAR - デフォルトのソート規則。各値は通常の方法で比較されます。
  • SORT_NUMERIC - 数値で並べ替えます。
  • SORT_STRING - 文字列を辞書順に並べ替えます。
  • SORT_LOCALE_STRING - 現在のローカリゼーション設定に従って文字列を辞書順に並べ替えます。
  • SORT_NATURAL - 自然数シーケンスで並べ替えます。たとえば、「a1」は「10」の前に来ます。
  • SORT_FLAG_CASE - 前述の照合ルールのいずれかと併用して、文字列の大文字と小文字を異なるものとして扱うことができます。

例:

$arr = array("apple", "banana", "grape");
sort($arr);
print_r ($ arr);

出力結果:

Array ( [0] => apple [1] => バナナ [2] => グレープ )

  1. rsort()

rsort() 関数は、配列を降順に並べ替えることを除けば、sort() 関数と非常によく似ています。具体的な構文は次のとおりです:

rsort(array &$array [, int $sort_flags = SORT_REGULAR]): bool

例:

$arr = array(" apple", "banana", "grape");
rsort($arr);
print_r($arr);

出力結果:

Array ( [0] => ブドウ [1] => バナナ [2] => リンゴ )

  1. asort()

asort() 関数は配列を昇順にソートします元のキー名が保持されます。具体的な構文は次のとおりです:

asort(array &$array [, int $sort_flags = SORT_REGULAR]): bool

例:

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

出力結果:

Array ( [a] => 1 [b] => 2 [c] => 3 )

  1. arsort()

arsort () 関数は、配列を降順に並べ替えることを除いて、asort() 関数と非常によく似ています。具体的な構文は次のとおりです:

arsort(array &$array [, int $sort_flags = SORT_REGULAR]): bool

例:

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

出力結果:

Array ([c] => 3 [b] => 2 [a] => 1 )

  1. ksort()

ksort () 関数は、キー名の昇順で配列をソートします。具体的な構文は次のとおりです:

ksort(array &$array [, int $sort_flags = SORT_REGULAR]): bool

例:

$arr = array(" b" = > 2, "a" => 1, "c" => 3);
ksort($arr);
print_r($arr);

出力結果:

Array ( [a] => 1 [b] => 2 [c] => 3 )

  1. krsort()

krsort () 関数は、キー名の降順で配列を並べ替えることを除いて、ksort() 関数と非常に似ています。具体的な構文は次のとおりです:

krsort(array &$array [, int $sort_flags = SORT_REGULAR]): bool

例:

$arr = array(" b" = > 2, "a" => 1, "c" => 3);
krsort($arr);
print_r($arr);

出力結果:

Array ([c] => 3 [b] => 2 [a] => 1 )

  1. usort()

usort () 関数は、配列の並べ替え、つまり自分で定義したルールに従って並べ替えをカスタマイズするために使用されます。具体的な構文は次のとおりです:

usort(array &$array, callable $function): bool

その中で、$array は並べ替える必要がある配列を表し、$function は関数を表します。配列要素を比較するために使用されます。この関数は、比較するときに 2 つの値の比較結果を表す整数を返す必要があります。

例:

$arr = array(3, 5, 1, 4, 2);
usort($arr, function($a, $b) {

if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;

});
print_r($arr);

出力結果:

Array ( [0] => 1 [1] => 2 [ 2] => 3 [3] => 4 [4] => 5 )

  1. uasort()

uasort() 関数は次とよく似ています。 usort() 関数 同様ですが、元のキー名が保持されます。具体的な構文は次のとおりです:

uasort(array &$array, callable $function): bool

例:

$arr = array("b" =>) ; 2, "a" => 1, "c" => 3);
uasort($arr, function($a, $b) {

if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;

});
print_r($ arr);

出力結果:

Array ( [a] => 1 [b] => 2 [c] => 3 )

  1. uksort()

uksort() 関数は、カスタム ルールに従って配列のキー名を並べ替えます。具体的な構文は次のとおりです。

uksort(array &$array, callable $function): bool

このうち、$array はソートが必要な配列を表し、$function は配列のキー名を比較するために使用される関数を表します。この関数は、比較するときに 2 つのキー名の比較結果を表す整数を返す必要があります。

例:

$arr = array("b" => 2, "a" => 1, "c" => 3);
uksort ($ arr, function($a, $b) {

if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;

});
print_r($arr);

出力結果:

Array ([ a] => 1 [b] => 2 [c] => 3 )

概要:

PHP には、選択できるさまざまな並べ替え関数があります。さまざまなニーズに応じて、さまざまな並べ替え方法を選択することで、配列をより効率的に操作できるようになります。

以上がPHP 配列の組み込みソート方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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