Heim > Backend-Entwicklung > PHP-Tutorial > Welche Techniken kann ich verwenden, um assoziative Arrays zusammenzuführen und fehlende Spalten mit Standardwerten hinzuzufügen?

Welche Techniken kann ich verwenden, um assoziative Arrays zusammenzuführen und fehlende Spalten mit Standardwerten hinzuzufügen?

Barbara Streisand
Freigeben: 2024-10-20 21:42:29
Original
664 Leute haben es durchsucht

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

Assoziative Arrays zusammenführen und fehlende Spalten mit Standardwerten hinzufügen

Mehrere assoziative Arrays unter Beibehaltung aller eindeutigen Schlüssel zusammenführen und fehlende Spalten mit Standardwerten hinzufügen kann mit verschiedenen Techniken erreicht werden. Lassen Sie uns zwei Methoden untersuchen, um dies zu erreichen:

Methode 1: Verwenden von array_merge und RecursiveIterationIterator

<code class="php">$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 '<pre class="brush:php;toolbar:false">';
print_r($data);</code>
Nach dem Login kopieren

Dieser Ansatz verwendet zunächst RecursiveIteratorIterator in Verbindung mit array_merge, um alle eindeutigen Schlüssel zu identifizieren in jedem assoziativen Array. Anschließend wird ein leeres Array ($keys) mit den identifizierten Schlüsseln initialisiert. Anschließend durchläuft es jedes Array in $d und führt das Array $keys mit den Werten jedes Arrays zusammen, um das gewünschte Format zu erhalten.

Methode 2: Verwenden von array_combine und array_map

<code class="php">$keys = 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);</code>
Nach dem Login kopieren

Dieser Ansatz verwendet array_keys, um die Vereinigung aller eindeutigen Schlüssel im zusammengeführten Array zu bestimmen. Anschließend wird array_combine verwendet, um ein Schlüssel-Wert-Paar zu erstellen, bei dem die Schlüssel die eindeutigen Schlüssel sind und die Werte Null sind. Schließlich wird array_map verwendet, um $d zu durchlaufen und das Schlüssel-Wert-Paar ($key_pair) mit jedem assoziativen Array in $d zusammenzuführen, was zum gewünschten Format führt.

Das obige ist der detaillierte Inhalt vonWelche Techniken kann ich verwenden, um assoziative Arrays zusammenzuführen und fehlende Spalten mit Standardwerten hinzuzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage