「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 連想配列をマージし、不足している列をデフォルト値で追加するためにどのような手法を使用できますか?

連想配列をマージし、不足している列をデフォルト値で追加するためにどのような手法を使用できますか?

2025-03-22に投稿されました
ブラウズ:674

What Techniques Can I Use to Merge Associative Arrays and Add Missing Columns with Default Values?

連想配列をマージし、欠落している列をデフォルト値

を追加しながら、すべての一意のキーを保存し、デフォルト値の欠落列を追加しながら、さまざまな技術を使用して達成できます。これを達成するために2つの方法を調べてみましょう:

方法1:array_merge and recursiveiterationaterator

$a = array('a' => 'some value', 'b' => 'some value', 'c' => 'some value');
$b = array('a' => 'another value', 'd' => 'another value', 'e' => 'another value', 'f' => 'another value');
$c = array('b' => 'some more value', 'x' => 'some more value', 'y' => 'some more value', 'z' => 'some more value');

$d = array($a, $b, $c);
$keys = array();

foreach (new RecursiveIteratorIterator(new RecursiveArrayIterator($d)) as $key => $val) {
    $keys[$key] = '';
}

$data = array();
foreach ($d as $values) {
    $data[] = array_merge($keys, $values);
}

echo '
';
print_r($data);

このアプローチは、最初にarray_mergeと組み合わせて再帰的な文字ターテーターを使用して、各連想配列のすべての一意のキーを識別します。次に、識別されたキーを使用して空の配列($キー)を初期化します。その後、各配列を$ Dで繰り返し、各配列の値と$キー配列をマージして目的の形式を取得します。 array_keys(call_user_func_array( 'array_merge'、$ d)); $ key_pair = array_combine($ keys、array_fill(0、count($ keys)、null)); $ values = array_map(function($ e)use($ key_pair){ return array_merge($ key_pair、$ e); }、$ d);

このアプローチは、array_keysを使用して、マージされた配列内のすべての一意のキーの結合を決定します。次に、array_combineを使用して、キーが一意のキーであり、値がnullであるキー値ペアを作成します。最後に、array_mapは$ dを繰り返し、キー値ペア($ key_pair)と各連想配列を$ dでマージし、目的の形式になります。になります。

リリースステートメント この記事は、侵害がある場合は1729431620で複製されています。勉強[email protected]に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3