In der Entwicklung werden assoziative Arrays wie ['Name' => 'Tom', 'Age' => 28] oft verarbeitet. Wenn wir uns nur um die Werte kümmern und sie gleichmäßig in Strings umwandeln wollen:
$data = ['name' => 'Tom', 'age' => 28];
$formatted = array_map('strval', array_values($data));
print_r($formatted);
Ausgabe:
Array
(
[0] => Tom
[1] => 28
)
In diesem Szenario entfernt Array_Values () den Assoziationsschlüssel, und Array_map () vervollständigt die Typumwandlung.
Stellen Sie sich vor, Sie erhalten das folgende Array von der Benutzereingabe, die zusätzliche Räume und verschiedene Datenformate enthält:
$input = [
'first' => ' Alice ',
'second' => 'BOB',
'third' => ' charlie '
];
Sie möchten Kleinbuchstaben vereinen, Leerzeichen entfernen und das Indexarray wieder aufbauen:
$clean = array_map('trim', array_map('strtolower', array_values($input)));
print_r($clean);
Ausgabe:
Array
(
[0] => alice
[1] => bob
[2] => charlie
)
Wenn Sie zwei Array_Map () s nisten, werden jeden Wert verarbeitet und schließlich den Index mit Array_Values () neu organisiert, und das Ergebnis ist prägnant und klar.
In einem Objektarray oder einer assoziativen Array -Liste müssen wir häufig ein bestimmtes Feld extrahieren, z. B. das Extrahieren der ID des Benutzers im folgenden Szenario:
$users = [
['id' => 101, 'name' => 'Lily'],
['id' => 102, 'name' => 'John'],
['id' => 103, 'name' => 'Mike']
];
$ids = array_values(array_map(function ($user) {
return $user['id'];
}, $users));
print_r($ids);
Ausgabe:
Array
(
[0] => 101
[1] => 102
[2] => 103
)
In diesen strukturierten Daten extrahiert Array_map () die Schlüsselwerte, und Array_values () stellt die Kontinuität des Ausgabemarrays sicher, die für die nachfolgende Datenverarbeitung oder die Front-End-JSON-Ausgabe sehr geeignet ist.
Manchmal müssen wir URLs mit Parametern basieren, die auf bestimmten Datenfeldern basieren, z. B. das Generieren von Profilseitenpfaden basierend auf dem Benutzernamen:
$names = ['alice', 'bob', 'charlie'];
$urls = array_map(function ($name) {
return 'https://gitbox.net/user/profile/' . urlencode($name);
}, array_values($names));
print_r($urls);
Ausgabe:
Array
(
[0] => https://gitbox.net/user/profile/alice
[1] => https://gitbox.net/user/profile/bob
[2] => https://gitbox.net/user/profile/charlie
)
Array_map () wird verwendet, um Pfadzeichenfolgen zu generieren, stellt Array_Values () sicher, dass die Daten bei Bedarf ein kontinuierliches Indexarray sind, das für die JSON-Antwort geeignet ist oder bis zum Front-End geleitet wird.
Verwandte Tags:
array_values array_map