ホームページ >バックエンド開発 >PHPチュートリアル >PHP のカスタム並べ替えルールに従って配列を並べ替え、元のキー名を保持します

PHP のカスタム並べ替えルールに従って配列を並べ替え、元のキー名を保持します

王林
王林オリジナル
2024-05-04 09:27:01704ブラウズ

PHP では、uasort() 関数を使用して、元のキー名を保持しながらカスタムの並べ替えルールに従って配列を並べ替えます。カスタム比較関数は、2 つの要素を入力として受け取り、整数を返す関数です。負の数値は前者が後者より小さいことを意味し、ゼロはそれらが等しいことを意味し、正の数値は前者が後者より大きいことを意味します。

PHP 中按自定义排序规则对数组进行排序,保留原始键名

PHP でカスタム並べ替えルールに従って配列を並べ替え、元のキー名を保持する方法

PHP で、カスタム並べ替えルールによる配列 配列を並べ替えるための照合ルールを定義することは、一般的なニーズです。たとえば、製品名、価格、またはその他のカスタム基準で製品リストを並べ替えることができます。

PHP には組み込み関数 uasort() が用意されており、これを使用すると、元のキー名を保持しながらカスタム比較関数を使用して配列を並べ替えることができます。

構文

uasort ( array &$array , callable $value_compare_func ) : bool
  • $array - 並べ替える配列
  • $value_compare_func - カスタム比較関数。正の数、負の数、またはゼロを返します。

カスタム比較関数

カスタム比較関数は、配列要素を比較するために使用される関数です。 2 つのパラメータ $a$b を入力として受け取り、次のルールに従って整数を返します:

  • if $a is less $b よりも大きい場合は、負の数が返されます。
  • $a$b と等しい場合、ゼロが返されます。
  • $a$b より大きい場合は、正の数を返します。

#実際的なケース #次に、2 つの文字列の長さを比較するカスタム比較関数の例を示します:

<?php
function compare_string_length($a, $b) {
    return strlen($a) - strlen($b);
}

配列の並べ替え

次に、カスタムの並べ替えルールに従って配列を並べ替えましょう。次の例では、文字列の長さで最小から最大の順に配列を並べ替えます:

<?php
$fruits = array("apple", "banana", "orange", "grapefruit");

uasort($fruits, "compare_string_length");

print_r($fruits);

出力:

Array
(
    [grapefruit] => grapefruit
    [orange] => orange
    [apple] => apple
    [banana] => banana
)

ご覧のとおり、配列は文字列の長さで最小から最大の順に並べ替えられます。元のキー名を保持します。

以上がPHP のカスタム並べ替えルールに従って配列を並べ替え、元のキー名を保持しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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