検索

ホームページ  >  に質問  >  本文

列の値を使用して 2D 配列データをグループ化し、3D 配列を生成します

<p>特定の列の値に基づいてグループ化したい多次元配列があります。 </p> <p><code>level</code>でグループ化したいのですが、レベルの値が事前に分かりません。したがって、<code>for</code> ループのように <code>while $i < 7</code> とは言えません。<code>7</code> がわからないからです。 ; は最大値のレベルキーですが、わかっていてもそれを行う必要があるかどうかはわかりません。 </p> <pre class="brush:php;toolbar:false;">[ ['cust' => 'XT8900', 'type' => 'standard', 'level' => 1], ['cust' => 'XT8944', 'type' => 'standard', 'level' => 1], ['cust' => 'XT8922', 'type' => 'プレミア', 'レベル' => 3], ['cust' => 'XT8816', 'type' => 'permier', 'level' => 3], ['cust' => 'XT7434', 'type' => 'standard', 'level' => 7], ]</pre> <p>望ましい結果: </p> <pre class="brush:php;toolbar:false;">配列 ( [1] => 配列 ( [0] => 配列 ( [カスタム] => XT8900 [タイプ] => 標準 ) [1] => 配列 ( [顧客] =>​​ XT8944 [タイプ] => 標準 ) ) [3] => 配列 ( [2] => 配列 ( [顧客] =>​​ XT8922 [タイプ] => プレミア ) [3] => 配列 ( [顧客] => XT8816 [タイプ] => パーミエ ) ) [7] => 配列 ( [4] => 配列 ( [顧客] =>​​ XT7434 [タイプ] => 標準 ) ) )</pre> <p><br /></p>
P粉022140576P粉022140576464日前576

全員に返信(2)返信します

  • P粉132730839

    P粉1327308392023-08-23 17:06:46

    最良のアプローチは、初期配列の構築を制御できる場合は、エントリを追加するときに最初に配列を設定することです。

    コントロールがない場合は、並べ替え用の一時配列が構築されます:

    リーリー

    これにより、すべての参照がまとめられた、必要なフォームが得られます。

    可能であれば、最初に次のように配列を構築します。

    返事
    0
  • P粉998100648

    P粉9981006482023-08-23 15:20:11

    まず、レベル

    でグループ化する必要があります。

    foreach を使用して配列をループし、レベルが前の項目と同じかどうかを確認してから、その配列でグループ化します

    リーリー

    print($grouparr);出力は希望の形式で表示されます

    あなたも試すことができます

    リーリー

    表示されます

    リーリー ###または### リーリー

    表示されます

    リーリー

    返事
    0
  • キャンセル返事