PHP ist eine beliebte serverseitige Skriptsprache, die hauptsächlich für die Webentwicklung verwendet wird. Als Allzwecksprache kann PHP verschiedene Arten von Daten verarbeiten, einschließlich Arrays. Wenn Sie mit Arrays arbeiten, müssen Sie häufig nur bestimmte Felder im Array abrufen. In diesem Artikel wird erläutert, wie Sie mit PHP mehrere Felder eines Arrays abrufen.
Die Funktion array_column() kann einzelne Felder aus einem mehrdimensionalen Array extrahieren und in ein neues Array einfügen. Diese Funktion empfängt drei Parameter:
array_column($input, $column_key, $index_key);
$input Parameter ist das Array der zu extrahierenden Felder; $column_key Parameter ist der zu extrahierende Feldname oder Index; wird verwendet Das Feld oder der Index, der als neuer Array-Schlüssel verwendet werden soll. Wenn der Parameter $index_key weggelassen wird, werden Ganzzahlschlüssel beginnend bei 0 verwendet.
Sehen wir uns ein Beispielarray an:
$users = array(
array('id' => 1, 'name' => 'Alice', 'age' => 23), array('id' => 2, 'name' => 'Bob', 'age' => 27), array('id' => 3, 'name' => 'Charlie', 'age' => 31)
);
Um die Namen aller Benutzer zu extrahieren, können Sie den folgenden Code verwenden:
$names = array_column($users, 'name ') ;
print_r($names);
Ausgabe:
Array
(
[0] => Alice [1] => Bob [2] => Charlie
)
Wie Sie sehen können, gibt die Funktion array_column() ein neues Array zurück, das nur Namen enthält.
Die Verwendung einer foreach-Schleife zum Durchlaufen eines Arrays und zum Abrufen der erforderlichen Felder ist ebenfalls eine gängige Methode. Das folgende Beispiel zeigt, wie Sie mithilfe einer foreach-Schleife das ursprüngliche $users-Array in ein neues Array konvertieren, das nur Namen und Altersgruppen enthält.
$new_users = array();
foreach ($users as $user) {
$new_user = array(); $new_user['name'] = $user['name']; $new_user['age'] = $user['age']; $new_users[] = $new_user;
}
print_r($new_users);
Ausgabe:
Array
(
[0] => Array ( [name] => Alice [age] => 23 ) [1] => Array ( [name] => Bob [age] => 27 ) [2] => Array ( [name] => Charlie [age] => 31 )
)
In diesem Beispiel Wir Verwenden Sie eine foreach-Schleife, um das ursprüngliche $users-Array zu durchlaufen. Für jeden Benutzer erstellen wir ein neues assoziatives Array $new_user und setzen darin den Namen und das Alter auf die entsprechenden Werte im $user-Array. Schließlich fügen wir den neuen Benutzer zum Array $new_users hinzu.
Obwohl die Verwendung einer foreach-Schleife mehr Code erfordert, bietet sie mehr Flexibilität und Kontrolle.
Die Funktion array_map() kann ein oder mehrere Arrays an eine Rückruffunktion übergeben und ein neues Array zurückgeben, wobei jedes Element das entsprechende Element im ursprünglichen Array ist, das vom Ergebnis der Rückruffunktion verarbeitet wurde. Das folgende Beispiel zeigt, wie Sie die Funktion array_map() verwenden, um nur den Namen und das Alter aus dem Array $users abzurufen.
function extract_fields($user) {
return array('name' => $user['name'], 'age' => $user['age']);
}
$new_users = array_map ("extract_fields", $users);
print_r($new_users);
Ausgabe:
Array
(
[0] => Array ( [name] => Alice [age] => 23 ) [1] => Array ( [name] => Bob [age] => 27 ) [2] => Array ( [name] => Charlie [age] => 31 )
)
In diesem Beispiel definieren wir eine Rückruffunktion namens extract_fields(), die die Funktion annimmt $user-Array und gibt ein neues Array zurück, das nur den Namen und das Alter enthält. Anschließend verwenden wir die Funktion array_map(), um extract_fields() auf jedes Element im Array $users anzuwenden und das neue Array $new_users zurückzugeben.
Obwohl die Verwendung der Funktion array_map() die Definition einer separaten Rückruffunktion erfordert, bietet sie eine größere Flexibilität und Skalierbarkeit. Wenn Sie mehr Felder benötigen, ändern Sie einfach die Rückruffunktion.
Fazit
Das Abrufen mehrerer Felder eines Arrays in PHP ist eine häufige Aufgabe und bei der Entwicklung von Webanwendungen sehr nützlich. In diesem Artikel werden drei Methoden zum Extrahieren von Array-Feldern vorgestellt, darunter die Verwendung der Funktion array_column(), die Verwendung einer foreach-Schleife und die Verwendung der Funktion array_map(). Unabhängig davon, für welche Methode Sie sich entscheiden, können Sie die erforderlichen Felder problemlos aus dem Array extrahieren, ohne sich mit redundanten oder unnötigen Elementen herumschlagen zu müssen.
Das obige ist der detaillierte Inhalt vonSo erhalten Sie mehrere Felder eines Arrays in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!