En développement, des tableaux associatifs tels que ['name' => 'Tom', 'Age' => 28] sont souvent traités. Si nous ne nous soucions que des valeurs et que nous voulons les convertir en cordes uniformément:
$data = ['name' => 'Tom', 'age' => 28];
$formatted = array_map('strval', array_values($data));
print_r($formatted);
Sortir:
Array
(
[0] => Tom
[1] => 28
)
Dans ce scénario, array_values () supprime la clé d'association et array_map () complète la conversion de type.
Imaginez que vous obteniez le tableau suivant à partir de l'entrée de l'utilisateur, contenant des espaces supplémentaires et différents formats de données:
$input = [
'first' => ' Alice ',
'second' => 'BOB',
'third' => ' charlie '
];
Vous souhaitez unifier les minuscules, supprimer les espaces et reconstruire le tableau d'index:
$clean = array_map('trim', array_map('strtolower', array_values($input)));
print_r($clean);
Sortir:
Array
(
[0] => alice
[1] => bob
[2] => charlie
)
Le nidification de deux array_map () s est utilisé pour traiter chaque valeur, et enfin réorganiser l'index avec array_values () , et le résultat est concis et clair.
Dans un tableau d'objets ou une liste de tableaux associatifs, nous devons souvent extraire un certain champ, comme l'extraction de l'ID de l'utilisateur dans le scénario suivant:
$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);
Sortir:
Array
(
[0] => 101
[1] => 102
[2] => 103
)
Dans ces données structurées, Array_Map () extrait les valeurs clés, et array_values () assure la continuité du tableau de sortie, qui est très adapté au traitement des données ultérieur ou à la sortie JSON frontale.
Parfois, nous devons générer des URL avec des paramètres en fonction de certains champs de données, tels que la génération de chemins de page de profil basés sur le nom d'utilisateur:
$names = ['alice', 'bob', 'charlie'];
$urls = array_map(function ($name) {
return 'https://gitbox.net/user/profile/' . urlencode($name);
}, array_values($names));
print_r($urls);
Sortir:
Array
(
[0] => https://gitbox.net/user/profile/alice
[1] => https://gitbox.net/user/profile/bob
[2] => https://gitbox.net/user/profile/charlie
)
array_map () est utilisé pour générer des chaînes de chemin, array_values () garantit que les données sont un tableau d'index continu en cas de besoin, adapté à la réponse JSON ou passent à l'avant.
Étiquettes associées:
array_values array_map