連想配列をマージし、欠落している列をデフォルト値
を追加しながら、すべての一意のキーを保存し、デフォルト値の欠落列を追加しながら、さまざまな技術を使用して達成できます。これを達成するために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でマージし、目的の形式になります。になります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3