ホームページ >バックエンド開発 >PHPチュートリアル >PHP 配列を値の長さでソートする方法:「usort」と「uasort」?

PHP 配列を値の長さでソートする方法:「usort」と「uasort」?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-02 20:01:02462ブラウズ

How to Sort a PHP Array by Value Length: `usort` vs. `uasort`?

順序は重要: PHP での値の長さによる配列の並べ替え

値の長さによる配列の並べ替えは、次のようなさまざまなアプリケーションで重要なタスクです。データの整理、テキストの分析など。 PHP では、これを実現するためにいくつかの方法を使用できます。

1 つの方法には、ユーザー定義の比較関数を適用して配列を並べ替える usort 関数の使用が含まれます。この場合、配列値の長さを比較するカスタム関数を定義できます:

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

この関数を 2 番目のパラメーターとして usort に渡すことができます:

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

このアプローチは簡単で、最も長い値が最初に表示されるように配列を並べ替えることができます。

もう 1 つのオプションは、元のインデックスの関連付けを維持しながら配列を並べ替える uasort を使用することです。同じカスタム比較関数を使用できます。

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

usort と uasort のどちらを選択するかは、目的の動作によって異なります。インデックスの順序が重要でない場合は、usort の方が効率的ですが、uasort は元のインデックスを維持し、予測可能なインデックスを使用して並べ替えられた配列を提供します。

usort は不安定な並べ替えであり、保持できない可能性があることに注意してください。等しい要素の初期順序。ただし、カスタム比較関数は一意の配列値の長さを比較するため、この特定のケースでは安定性が保証されます。

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

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