Während der Entwicklung müssen wir häufig Daten verarbeiten, die von der Schnittstelle zurückgegeben werden, die in verschiedenen Strukturen übergeben werden können. Manchmal müssen wir ein Indexarray mit einem Array von Werten in ein assoziatives Array und das Array der Array_combine -Funktion von PHP kombinieren. In diesem Artikel wird die Rekombination von Daten mithilfe der Funktion array_combine in der Schnittstellenrückgabedatenverarbeitung eingeführt.
Die Funktion array_combine ist eine integrierte Funktion in PHP. Seine Funktion besteht darin, zwei Arrays in ein assoziatives Array zu kombinieren. Das Element des ersten Arrays wird als Schlüssel zum Neuarray verwendet, und das Element des zweiten Arrays wird als Wert des Neuarrays verwendet.
Der Funktionsprototyp lautet wie folgt:
array_combine(array $keys, array $values): array
$ KEYS : Ein Array als Schlüssel zum Neuarray.
$ values : Ein Array als Wert des Neuarrays.
Die Anzahl der Elemente dieser beiden Arrays muss gleich sein, sonst wird ein Fehler geworfen.
Angenommen, wir haben die folgenden zwei Datensätze von einer Schnittstelle erhalten:
$keys = ['id', 'name', 'email'];
$values = [1, 'John Doe', 'john.doe@m66.net'];
Diese Daten stellen die ID, den Namen und die E -Mail -Adresse des Benutzers dar. Jetzt können wir die Funktion array_combine verwenden, um sie in ein assoziatives Array zu rekombinieren. Der Code lautet wie folgt:
<?php
$keys = ['id', 'name', 'email'];
$values = [1, 'John Doe', 'john.doe@m66.net'];
$user = array_combine($keys, $values);
print_r($user);
?>
Array
(
[id] => 1
[name] => John Doe
[email] => john.doe@m66.net
)
Wie oben gezeigt, wird nach der Verwendung von Array_combine ein assoziatives Array mit Benutzerinformationen zurückgegeben, wobei der Schlüssel der Attributname des Benutzers und der Wert der entsprechende Attributwert ist.
In der tatsächlichen Entwicklung extrahieren wir normalerweise die erforderlichen Informationen aus den von der Schnittstelle zurückgegebenen Daten und rekombierten die Daten mithilfe von array_combine . Nehmen wir beispielsweise an, dass die von einer erholsamen API erhaltenen Benutzerinformationen wie folgt sind:
$response = [
'user_id' => [1, 2, 3],
'user_name' => ['John', 'Jane', 'Doe'],
'user_email' => ['john@m66.net', 'jane@m66.net', 'doe@m66.net']
];
Über die Funktion array_combine können wir die ID, den Namen und die E-Mail-Informationen des Benutzers in ein mehrdimensionales assoziatives Array für eine einfache nachfolgende Verarbeitung neu organisieren:
<?php
$response = [
'user_id' => [1, 2, 3],
'user_name' => ['John', 'Jane', 'Doe'],
'user_email' => ['john@m66.net', 'jane@m66.net', 'doe@m66.net']
];
$users = [];
foreach ($response['user_id'] as $index => $id) {
$users[] = array_combine(
['id', 'name', 'email'],
[$id, $response['user_name'][$index], $response['user_email'][$index]]
);
}
print_r($users);
?>
Array
(
[0] => Array
(
[id] => 1
[name] => John
[email] => john@m66.net
)
[1] => Array
(
[id] => 2
[name] => Jane
[email] => jane@m66.net
)
[2] => Array
(
[id] => 3
[name] => Doe
[email] => doe@m66.net
)
)
In diesem Beispiel verwenden wir die Funktion array_combine , um die ID, den Namen und die E -Mail jedes Benutzers in ein neues assoziatives Array zu kombinieren und sie dann in das $ user -Array zu sammeln. Schließlich erhalten wir ein mehrdimensionales Array mit mehreren Benutzerinformationen für einfachere nachfolgende Vorgänge.
Die Funktion array_combine ist sehr nützlich, wenn die von einer Schnittstelle zurückgegebenen Verarbeitungsdaten verarbeitet werden, insbesondere wenn wir eine Reihe von Schlüssel und eine Reihe von Werten in ein assoziatives Array kombinieren müssen. Durch ordnungsgemäße Verwendung von Array_combine kann der Code prägnanter und einfach zu lesen. In tatsächlichen Projekten, insbesondere im Umgang mit komplexen Datenstrukturen, kann diese Funktion die Entwicklungseffizienz erheblich verbessern.
Ich hoffe, dieser Artikel hilft Ihnen, besser zu verstehen, wie die Funktion array_combine in der Schnittstellenrückgabedatenverarbeitung verwendet wird. Wenn Sie weitere Fragen haben, können Sie gerne fragen!