So führen Sie mehrere Arrays gemäß den angegebenen Schlüsselnamen in PHP zu einem Array zusammen

WBOY
Freigeben: 2023-07-07 16:16:02
Original
1344 Leute haben es durchsucht

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);
Nach dem Login kopieren

Führen Sie den obigen Code aus. Das Ausgabeergebnis lautet:

Array
(
    [0] => Alice
    [1] => Bob
    [2] => Charlie
)
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren

Führen Sie den obigen Code aus. Das Ausgabeergebnis lautet:

Array
(
    [0] => Alice
    [1] => Bob
    [2] => Charlie
)
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren

Führen Sie den obigen Code aus. Das Ausgabeergebnis lautet:

Array
(
    [0] => Alice
    [1] => Bob
    [2] => Charlie
)
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!