キー名を保持する PHP の高速配列ソート方法: ksort() 関数を使用してキーをソートします。ユーザー定義の比較関数を使用して並べ替えるには、uasort() 関数を使用します。実用的な例: ユーザー ID を保持しながら、ユーザー ID とスコアの配列をスコアごとに並べ替えるには、uasort() 関数とカスタム比較関数を使用できます。
キー名を保持する PHP の高速配列ソート方法
PHP では、配列ソートでは通常、キー名がスクランブルされます。ただし、場合によっては、元のキー名を保存することが重要です。以下に、キー名を保持しながら配列をすばやく並べ替えるいくつかの方法を示します。
#1. ksort()
この関数は配列内のキーをソートし、元のキー名を保持します。 <pre class='brush:php;toolbar:false;'>$arr = ['apple' => 5, 'banana' => 1, 'cherry' => 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 サイトの他の関連記事を参照してください。