ホームページ  >  記事  >  バックエンド開発  >  PHP 配列を文字列の長さで降順に並べ替えるにはどうすればよいですか?

PHP 配列を文字列の長さで降順に並べ替えるにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-01 04:44:27191ブラウズ

How to Sort a PHP Array by String Length in Descending Order?

PHP での値の長さによる配列の並べ替え

アナグラム マッチングの領域では、一致するものを長さの降順に並べることが重要な手順になる可能性があります。 PHP でこの課題に直面している場合は、強力な usort 関数を使用した解決策を次に示します。

<code class="php">function sortByLength($a, $b) {
    return strlen($b) - strlen($a);
}

usort($array, 'sortByLength');</code>

このカスタム sortByLength 関数は 2 つの文字列の長さを比較し、最初の文字列が長い場合は負の値を返します。 usort 関数は、提供されている比較関数を使用して配列を適切に並べ替えます。

または、元の配列インデックスを保持する必要がある場合は、代わりに uasort を使用できます。

<code class="php">uasort($array, 'sortByLength');</code>

どちらも usortと uasort は実行可能なソリューションを提供しますが、usort は不安定な並べ替えであると考えられています。つまり、等しい要素が並べ替え後に元の順序を維持できない可能性があります。したがって、提供されているバージョンでは、安定した並べ替え動作が保証されています。

並べ替えプロセスを説明するために、次の配列を考えてみましょう:

<code class="php">$array = ["bbbbb", "dog", "cat", "aaa", "aaaa"];</code>

並べ替え後、配列は次のように配置されます:

[0] => "bbbbb"
[1] => "aaaa"
[2] => "aaa"
[3] => "cat"
[4] => "dog"

以上がPHP 配列を文字列の長さで降順に並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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