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

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

PHPz
リリース: 2024-05-02 15:06:01
オリジナル
986 人が閲覧しました

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

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

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

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

#1. ksort()

#ksort( )

この関数は配列内のキーをソートし、元のキー名を保持します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$arr = ['apple' =&gt; 5, 'banana' =&gt; 1, 'cherry' =&gt; 3]; ksort($arr); print_r($arr);</pre><div class="contentsignin">ログイン後にコピー</div></div>出力:

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート