PHPで配列をソートする方法

PHPz
リリース: 2023-04-14 19:01:18
オリジナル
149 人が閲覧しました

PHP は、ウェブサイト開発やアプリケーション開発に使用される人気のあるプログラミング言語です。 PHP のさまざまな機能に関して、配列ソートは、配列内のデータに対してソート操作を実行できるため、PHP で開発する場合におそらく最も重要な機能の 1 つです。この記事では、PHP で配列を並べ替えるいくつかの方法を説明します。

  1. sort() 関数

sort() 関数は、PHP で最もよく使用されるソート関数の 1 つであり、そのパラメーターはソートされる配列を変更できます。そして、並べ替えが成功したかどうかを示すブール値を返します。

構文は次のとおりです:

<code>bool sort ( array &$array , int $sort_flags = SORT_REGULAR )</code>
ログイン後にコピー

このうち、$array はソートする必要がある配列、$sort_flags はソート アルゴリズムを指定するために使用されるオプションのパラメーターであり、そのデフォルト値は SORT_REGULAR です。

以下は sort() 関数の例です:

<code>$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
    echo $key . " = " . $val . "\n";
}</code>
ログイン後にコピー

出力結果は次のとおりです:

<code>0 = apple
1 = banana
2 = lemon
3 = orange</code>
ログイン後にコピー
  1. rsort() 関数

rsort() 関数も、PHP で最も一般的に使用される並べ替え関数の 1 つです。この関数は sort( ) 関数に似ていますが、配列を降順に並べ替える点が異なります。そのパラメータは、並べ替える配列とオプションの $sort_flags パラメータを含め、sort() 関数と同じです。

構文は次のとおりです:

<code>bool rsort ( array &$array , int $sort_flags = SORT_REGULAR )</code>
ログイン後にコピー

以下は rsort() 関数の例です:

<code>$fruits = array("lemon", "orange", "banana", "apple");
rsort($fruits);
foreach ($fruits as $key => $val) {
    echo $key . " = " . $val . "\n";
}</code>
ログイン後にコピー

出力結果は次のとおりです:

<code>0 = orange
1 = lemon
2 = banana
3 = apple</code>
ログイン後にコピー
  1. asort() 関数

asort() 関数は配列をソートできます配列の値に従って昇順で並べられます。この関数では配列のインデックスの再作成は許可されず、配列がその場で変更されます。そのパラメータはsort()関数と同じです。

構文は次のとおりです:

<code>bool asort ( array &$array , int $sort_flags = SORT_REGULAR )</code>
ログイン後にコピー

以下は asort() 関数の例です:

<code>$age = array("Tom"=>"35", "John"=>"25", "Lisa"=>"30");
asort($age);
foreach($age as $key => $val) {
    echo "$key = $val\n";
}</code>
ログイン後にコピー

出力結果は次のとおりです:

<code>John = 25
Lisa = 30
Tom = 35</code>
ログイン後にコピー
ログイン後にコピー
  1. arsort() 関数

arsort() 関数は逆ソートですasort() 関数のバージョン。この関数は値によって降順に並べ替えます。そのパラメータは他の並べ替え関数と同じです。

構文は次のとおりです:

<code>bool arsort ( array &$array , int $sort_flags = SORT_REGULAR )</code>
ログイン後にコピー

以下は arsort() 関数の例です:

<code>$age = array("Tom"=>"35", "John"=>"25", "Lisa"=>"30");
arsort($age);
foreach($age as $key => $val) {
    echo "$key = $val\n";
}</code>
ログイン後にコピー

出力結果は次のとおりです:

<code>Tom = 35
Lisa = 30
John = 25</code>
ログイン後にコピー
ログイン後にコピー
  1. ksort() 関数

ksort() 関数は配列をソートできますキー (キー名) によって、配列内のキー値を昇順にソートし、配列の再インデックス付けを許可せず、配列をその場で変更します。そのパラメータは他の並べ替え関数と同じです。

構文は次のとおりです:

<code>bool ksort ( array &$array , int $sort_flags = SORT_REGULAR )</code>
ログイン後にコピー

以下は ksort() 関数の例です:

<code>$age = array("Tom"=>"35", "John"=>"25", "Lisa"=>"30");
ksort($age);
foreach($age as $key => $val) {
    echo "$key = $val\n";
}</code>
ログイン後にコピー

出力結果は次のとおりです:

<code>John = 25
Lisa = 30
Tom = 35</code>
ログイン後にコピー
ログイン後にコピー
  1. krsort() 関数

krsort() 関数は逆ソートですksort() 関数のバージョン。この関数は、配列をキー (キー名) で降順にソートし、配列の再インデックス付けを許可せず、配列をその場で変更します。そのパラメータは他の並べ替え関数と同じです。

構文は次のとおりです:

<code>bool krsort ( array &$array , int $sort_flags = SORT_REGULAR )</code>
ログイン後にコピー

以下は krsort() 関数の例です:

<code>$age = array("Tom"=>"35", "John"=>"25", "Lisa"=>"30");
krsort($age);
foreach($age as $key => $val) {
    echo "$key = $val\n";
}</code>
ログイン後にコピー

出力結果は次のとおりです:

<code>Tom = 35
Lisa = 30
John = 25</code>
ログイン後にコピー
ログイン後にコピー
  1. usort() 関数

usort() 関数を使用するとカスタマイズできます配列の並べ替えには、比較のためのカスタム比較関数を提供する必要があります。この関数では配列のインデックスの再作成は許可されず、配列がその場で変更されます。この関数には 2 つのパラメータが必要です。最初のパラメータは並べ替える配列で、2 番目のパラメータは並べ替えに使用されるカスタム比較関数です。

構文は次のとおりです:

<code>bool usort ( array &$array , callable $value_compare_func )</code>
ログイン後にコピー

以下は usort() 関数の例です:

<code>function cmp($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

$a = array(3, 2, 5, 6, 1);
usort($a, "cmp");

foreach ($a as $key => $val) {
    echo "$key: $val\n";
}</code>
ログイン後にコピー

出力結果は次のとおりです:

<code>0: 1
1: 2
2: 3
3: 5
4: 6</code>
ログイン後にコピー

上記は、PHP でよく使用される 7 つの配列ソート関数です。指定された基準に基づいて配列を昇順または降順に並べ替えることができます。望ましい配列ソート効果を達成するには、開発ニーズに応じてさまざまなソート関数を選択してください。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート