現在の位置: ホーム> 最新記事一覧> KRSORTを使用して、PHPで多次元ネストされたアレイのキー名を並べ替える方法は?

KRSORTを使用して、PHPで多次元ネストされたアレイのキー名を並べ替える方法は?

gitbox 2025-09-12
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// この記事と PHP コードに依存しないプレフィックス</span></span><span>
</span><span><span class="hljs-comment">// たとえば、ここにいくつかの初期化があります、声明,またはサイトのヘッダー出力</span></span><span>

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"この部分はテキストとは何の関係もありません\n"</span></span><span>;

</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/**
 * タイトル: PHP それを使用する方法 krsort 多次元ネストされたアレイのキー名を逆順に並べ替える?
 *
 * 存在する PHP 真ん中,krsort() これは非常に1つ般的に使用される配列関数です,その機能は次のとおりです **キー名** の逆の順序(大部分から小さい)ソート配列,
 * キーと値の間の対応する関係を維持します。这对于需要根据キー名做降序处理的数据结构很有帮助。
 *
 * ### 1つ、krsort 基本的な使用法
 * ```php
 * $arr = [
 *     "c" =&gt; 3,
 *     "a" =&gt; 1,
 *     "b" =&gt; 2
 * ];
 * 
 * krsort($arr);
 * print_r($arr);
 * ```
 * 結果は次のとおりです:
 * ```
 * Array
 * (
 *     [c] =&gt; 3
 *     [b] =&gt; 2
 *     [a] =&gt; 1
 * )
 * ```
 *
 * ### 二、多次元配列用
 * 假设我们有1つ个多维嵌套数组:
 * ```php
 * $data = [
 *     "group3" =&gt; [
 *         "c" =&gt; 30,
 *         "a" =&gt; 10,
 *         "b" =&gt; 20
 *     ],
 *     "group1" =&gt; [
 *         "x" =&gt; 100,
 *         "z" =&gt; 300,
 *         "y" =&gt; 200
 *     ],
 *     "group2" =&gt; [
 *         "foo" =&gt; "bar",
 *         "baz" =&gt; "qux"
 *     ]
 * ];
 * ```
 * 如果只对最外层进行キー名逆序排序:
 * ```php
 * krsort($data);
 * print_r($data);
 * ```
 * 出力トップキーオーダーはなります `group3, group2, group1`。
 *
 * ### 三つ、多次元配列の再帰的なソート
 * 如果我们希望不仅顶层キー名逆序,同时对每1つ层子数组的キー名也逆序,就需要写1つ个递归函数:
 *
 * ```php
 * function recursiveKrsort(array &amp;$array) {
 *     // 先对当前层的キー名逆序排序
 *     krsort($array);
 *     
 *     // 遍历每1つ项,値がまだ配列である場合,再帰コール
 *     foreach ($array as &amp;$value) {
 *         if (is_array($value)) {
 *             recursiveKrsort($value);
 *         }
 *     }
 * }
 *
 * // 使用の例
 * recursiveKrsort($data);
 * print_r($data);
 * ```
 *
 * それで,数组真ん中的所有层级都会按照キー名逆序排序。
 *
 * ### 4、要約します
 * - 使用 `krsort()` 可以轻松实现1つ维数组的キー名逆序排序。
 * - 多次元配列用,再帰関数は、レイヤーごとに処理できます,实现全局的キー名逆序。
 * - この方法は、構成データに適しています、分组数据等需要按照キー名进行排序展示的场景。
 */</span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>