ホームページ > バックエンド開発 > PHPの問題 > 配列のソートPHPを変更する

配列のソートPHPを変更する

PHPz
リリース: 2023-05-24 19:37:37
オリジナル
446 人が閲覧しました

PHP は広く使用されているプログラミング言語であり、多くの強力なツールと関数ライブラリを提供しており、配列の並べ替えを行うのに非常に便利です。この記事では、PHPを使用して配列のソートを変更する方法を紹介します。

PHP では、sort() 関数を使用して配列を昇順に並べ替えることができます。例:

$numbers = array(3, 1, 4, 1, 5, 9, 2, 6, 5, 3);
sort($numbers);
print_r($numbers);
ログイン後にコピー

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

Array
(
    [0] => 1
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 3
    [5] => 4
    [6] => 5
    [7] => 5
    [8] => 6
    [9] => 9
)
ログイン後にコピー

この結果から、配列 $numbers が昇順にソートされていることがわかります。

rsort() 関数を使用して配列を降順に並べ替えることもできます。例:

$numbers = array(3, 1, 4, 1, 5, 9, 2, 6, 5, 3);
rsort($numbers);
print_r($numbers);
ログイン後にコピー

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

Array
(
    [0] => 9
    [1] => 6
    [2] => 5
    [3] => 5
    [4] => 4
    [5] => 3
    [6] => 3
    [7] => 2
    [8] => 1
    [9] => 1
)
ログイン後にコピー

結果は、配列 $numbers が降順にソートされたことを示します。

連想配列をキー名でソートする必要がある場合、ksort() 関数を使用して昇順でソートし、krsort() 関数を使用して降順でソートできます。例:

$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
ksort($age);
print_r($age);
ログイン後にコピー

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

Array
(
    [Ben] => 37
    [Joe] => 43
    [Peter] => 35
)
ログイン後にコピー

$age 配列がキー名に従って昇順にソートされていることがわかります。

これらのデフォルトの配列ソート関数に加えて、カスタムソート関数も使用できます。この関数は、配列要素を比較するためのルールを定義します。この関数は 2 つのパラメータを受け入れる必要があり、2 つの値の順序を示す -1、0、または 1 を返します。たとえば、配列要素の長さに基づいて並べ替えることができます。

以下はカスタム並べ替え関数の実装例です:

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

$fruits = array("apple", "banana", "orange", "pear", "watermelon");
usort($fruits, "cmp");
print_r($fruits);
ログイン後にコピー

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

Array
(
    [0] => pear
    [1] => apple
    [2] => banana
    [3] => orange
    [4] => watermelon
)
ログイン後にコピー

ご覧のとおり、$fruits 配列は次のように並べ替えられています。要素の長さに合わせます。

この記事では、PHP を使用して配列の並べ替えを変更する方法を紹介します。これらの並べ替え関数とカスタム並べ替え関数を通じて、さまざまなニーズに合わせて配列を簡単に並べ替えることができます。

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

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