So führen Sie in PHP mehrere Arrays gemäß dem angegebenen Schlüsselnamen zu einem Array zusammen.
In der Entwicklung müssen wir häufig mehrere Arrays gemäß dem angegebenen Schlüsselnamen zu einem Array zusammenführen. Dieser Bedarf kommt bei der Arbeit mit Daten sehr häufig vor, insbesondere wenn beispielsweise mit Datenbank-Ergebnismengen gearbeitet wird. In diesem Artikel werden mehrere gängige Methoden zum Erreichen dieser Funktion vorgestellt und entsprechende Codebeispiele gegeben.
Methode 1: Schleifendurchquerung verwenden
Die einfachste Methode besteht darin, eine Schleife zu verwenden, um alle Arrays zu durchlaufen und die entsprechenden Werte gemäß dem angegebenen Schlüsselnamen zum neuen Array hinzuzufügen. Der Beispielcode lautet wie folgt:
function mergeArrays($key, ...$arrays) { $result = []; foreach ($arrays as $array) { if (isset($array[$key])) { $result[] = $array[$key]; } } return $result; } $array1 = ['id' => 1, 'name' => 'Alice']; $array2 = ['id' => 2, 'name' => 'Bob']; $array3 = ['id' => 3, 'name' => 'Charlie']; $result = mergeArrays('name', $array1, $array2, $array3); print_r($result);
Führen Sie den obigen Code aus. Das Ausgabeergebnis lautet:
Array ( [0] => Alice [1] => Bob [2] => Charlie )
Methode 2: Verwenden Sie die Funktion array_map
array_map, um eine Rückruffunktion auf mehrere Arrays anzuwenden und ein neues Array zurückzugeben. Mit dieser Funktion können wir mehrere Arrays zusammenführen. Der Beispielcode lautet wie folgt:
function mergeArrays($key, ...$arrays) { $callback = function ($array) use ($key) { return $array[$key] ?? null; }; $result = array_map($callback, $arrays); return array_filter($result, function($value) { return $value !== null; }); } $array1 = ['id' => 1, 'name' => 'Alice']; $array2 = ['id' => 2, 'name' => 'Bob']; $array3 = ['id' => 3, 'name' => 'Charlie']; $result = mergeArrays('name', $array1, $array2, $array3); print_r($result);
Führen Sie den obigen Code aus. Das Ausgabeergebnis lautet:
Array ( [0] => Alice [1] => Bob [2] => Charlie )
Methode 3: Funktion „array_reduce“ verwenden
Die Funktion „array_reduce“ wird verwendet, um die Elemente im Array iterativ zu verarbeiten und sie entsprechend den Vorgaben zu verarbeiten Rückruffunktion und Rückgabe eines Endergebnisses. Mit dieser Funktion können wir mehrere Arrays zusammenführen. Der Beispielcode lautet wie folgt:
function mergeArrays($key, ...$arrays) { $callback = function ($result, $array) use ($key) { if (isset($array[$key])) { $result[] = $array[$key]; } return $result; }; $result = array_reduce($arrays, $callback, []); return $result; } $array1 = ['id' => 1, 'name' => 'Alice']; $array2 = ['id' => 2, 'name' => 'Bob']; $array3 = ['id' => 3, 'name' => 'Charlie']; $result = mergeArrays('name', $array1, $array2, $array3); print_r($result);
Führen Sie den obigen Code aus. Das Ausgabeergebnis lautet:
Array ( [0] => Alice [1] => Bob [2] => Charlie )
Die oben genannten Beispiele sind mehrere gängige Methoden zum Zusammenführen mehrerer Arrays zu einem Array gemäß dem angegebenen Schlüsselnamen. Die Auswahl der geeigneten Methode entsprechend der tatsächlichen Situation kann die Effizienz und Lesbarkeit des Codes erheblich verbessern. Hoffe das hilft!
Das obige ist der detaillierte Inhalt vonSo führen Sie mehrere Arrays gemäß den angegebenen Schlüsselnamen in PHP zu einem Array zusammen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!