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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-03 10:08:29260ブラウズ

How to Sort a PHP Array by Value Length?

PHP: 値の長さによる配列の並べ替えの最適化

可変長の値の配列を操作する場合、要素の長さによって配列を並べ替えることができます。データを効率的に整理するために重要です。この記事では、この一般的な問題に対する実用的な解決策を示します。

解決策:

php.net Web サイトでは、カスタム コンパレータ関数と組み合わせて usort 関数を使用する解決策を提供しています。 。カスタム関数 sortByLength は、2 つの配列要素の長さを比較し、その差を返します。比較で降順を指定すると、配列の並べ替え時に最も長い配列値が最初に表示されます。

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

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

このメソッドは不安定な並べ替えを使用することに注意してください。つまり、等しい要素は並べ替え中に相対的な順序が変わる可能性があります。

代わりに、uasort 関数を使用して元のインデックスを維持することもできます。

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

例:

この解決策を説明するには、次のようにします。次の配列を考えてみましょう:

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

結果の並べ替え:

sortByLength 関数を使用すると、並べ替えられた配列は次のように表示されます:

<code class="php">[
    0 => "bbbbb",
    1 => "aaaa",
    2 => "aaa",
    3 => "cat",
    4 => "dog"
]</code>

一方、同じ長さの要素の元の順序は保持されます。

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

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