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

多次元配列の値を 1 次元配列に変換します

対応するキーが別のフラット連想配列で見つかった場合、多次元配列の値を変更したいと考えています。

次の 2 つの配列があります:

リーリー

配列を次のようにしたい:

リーリー

入力フィールドから $semi 配列を取得し、それを $full にマージしてデータベースに保存したいと考えています。

私は array_replace() を次のように試しました:

ああああ

P粉969666670P粉969666670232日前331

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

  • P粉738248522

    P粉7382485222024-02-04 20:07:00

    「リーフノード」にアクセスし、array_walk_recursive() を使用して配列全体を直接反復して変更するだけです。

    最新の「アロー関数」構文を使用すると、use() を記述せずに半分の配列にアクセスできます。

    このメソッドは関数呼び出しを反復することはありません。これは、「加算代入」結合演算子 ( =) と null 結合演算子 () を使用して、参照によって $v を変更します (&$v)。 ? ?) 配列の半分にある配列全体の値を条件付きでインクリメントします。

    コード: (デモ)

    リーリー

    array_walk_recursive() を使用しない場合は、ネストされたループを使用して認定メーカーを追加する必要があります。

    コード: (デモ)

    リーリー

    返事
    0
  • P粉151720173

    P粉1517201732024-02-04 12:18:10

    $semi 配列をループし、それが $full 配列の 1 つに存在するかどうかを確認してから、それに追加する必要があります。 リーリー

    返事
    0
  • キャンセル返事