fusioning assoziative Arrays und Hinzufügen fehlender Spalten mit Standardwerten
Fusion mehrerer assoziativer Arrays, die alle einzigartigen Schlüssel vorhanden und addiert fehlende Spalten mit Defaultwerten, können mit verschiedenen Techniken erreicht werden. Erforschen wir zwei Methoden, um dies zu erreichen:
Methode 1: Verwenden von Array_Merge und rekursivemitrierenIterator
$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);
Dieser Ansatz verwendet zuerst RecursiveIteratoriterator in Verbindung mit Array_Merge, um alle eindeutigen Schlüssel in jedem assoziativen Array zu identifizieren. Anschließend initialisiert ein leeres Array ($ Keys) mit den identifizierten Schlüssel. Anschließend wird jedes Array in $ D durchträgt und das Array von $ Schlüssel mit den Werten jedes Arrays verschmolzen, um das gewünschte Format zu erhalten. array_keys (call_user_func_array ('array_merge', $ d));
$ key_pair = array_combine ($ keys, array_fill (0, count ($ keys), null));
$ values = array_map (Funktion ($ e) verwenden ($ key_pair) {
return array_merge ($ key_pair, $ e);
}, $ d);
Dieser Ansatz verwendet Array_Keys, um die Vereinigung aller einzigartigen Schlüssel im zusammengeführten Array zu bestimmen. Anschließend wird Array_combine verwendet, um ein Schlüsselwertpaar zu erstellen, bei dem die Schlüssel die eindeutigen Schlüssel und die Werte null sind. Schließlich wird Array_Map verwendet, um $ D durchzunehmen, wobei das Schlüsselwertpaar ($ key_pair) mit jedem assoziativen Array in $ d zusammengeführt wird, was zum gewünschten Format führt.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3