ホームページ  >  記事  >  バックエンド開発  >  PHP でキー名を保持する高速配列ソート方法

PHP でキー名を保持する高速配列ソート方法

PHPz
PHPzオリジナル
2024-05-02 15:06:01975ブラウズ

キー名を保持する PHP の高速配列ソート方法: ksort() 関数を使用してキーをソートします。ユーザー定義の比較関数を使用して並べ替えるには、uasort() 関数を使用します。実用的な例: ユーザー ID を保持しながら、ユーザー ID とスコアの配列をスコアごとに並べ替えるには、uasort() 関数とカスタム比較関数を使用できます。

PHP 中保留键名的快速数组排序方法

キー名を保持する PHP の高速配列ソート方法

PHP では、配列ソートでは通常、キー名がスクランブルされます。ただし、場合によっては、元のキー名を保存することが重要です。以下に、キー名を保持しながら配列をすばやく並べ替えるいくつかの方法を示します。

#1. ksort()

#ksort( )

この関数は配列内のキーをソートし、元のキー名を保持します。 <pre class='brush:php;toolbar:false;'>$arr = ['apple' =&gt; 5, 'banana' =&gt; 1, 'cherry' =&gt; 3]; ksort($arr); print_r($arr);</pre>出力:

Array
(
    [apple] => 5
    [banana] => 1
    [cherry] => 3
)

2.

uasort()#uasort()

関数を使用して並べ替えます。キー名を保持しながら、ユーザー定義の比較関数を使用する連想配列。

function cmp($a, $b)
{
    return $a <=> $b;
}

$arr = ['apple' => 5, 'banana' => 1, 'cherry' => 3];
uasort($arr, "cmp");
print_r($arr);
出力:
Array
(
    [banana] => 1
    [cherry] => 3
    [apple] => 5
)

実際的なケース

ユーザー ID と対応するスコアの配列があると仮定します。ユーザー ID を保持しながら配列をソートする必要があります。

$scores = [
    'user1' => 85,
    'user2' => 90,
    'user3' => 75,
];

// 使用 uasort() 排序数组
function cmp($a, $b)
{
    return $a[1] <=> $b[1];
}

uasort($scores, "cmp");

ソートされた配列は、ユーザー ID を保持しながらスコアの昇順になりました:

Array
(
    [user3] => 75
    [user1] => 85
    [user2] => 90
)

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

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