array_map
array_map(function($elt){...}, $tableau)
Cette fonction retourne un nouveau tableau dont chaque élément a été modifié.
Ce tableau contient autant de cases que le tableau original.
la valeur retournée par la fonction correspond à la valeur mise dans le nouveau tableau.
$elt : représente un élément du tableau à chaque tour de boucle
Exemple : Doublement des valeurs du tableau
<?php
$listeNombres = [5, 12, 7, 9, 3, 17, 8, 2, 15, 14];
$tab = array_map(
function ($nombre) {
return $nombre * 2;
},
$listeNombres
);
var_dump($tab); // [10, 24, 14, 18, 6, 34, 16, 4, 30, 28]
Équivalent avec fonction fléchée
<?php
$listeNombres = [5, 12, 7, 9, 3, 17, 8, 2, 15, 14];
$tab = array_map(fn ($nombre) => $nombre * 2, $listeNombres);
var_dump($tab); // [10, 24, 14, 18, 6, 34, 16, 4, 30, 28]
Équivalent avec foreach
<?php
$listeNombres = [5, 12, 7, 9, 3, 17, 8, 2, 15, 14];
$tab = [];
foreach ($listeNombres as $nombre) {
$tab[] = $nombre * 2;
}
var_dump($tab);
Équivalent avec for
<?php
$listeNombres = [5, 12, 7, 9, 3, 17, 8, 2, 15, 14];
$tab = [];
for ($i = 0; $i < count($listeNombres); $i++) {
$tab[] = $listeNombres[$i] * 2;
}
var_dump($tab);
Exemple : Remplace les valeurs paires par 0 et les valeurs impaires par 1
<?php
$listeNombres = [5, 12, 7, 9, 3, 17, 8, 2, 15, 14];
$tab = array_map(
function ($nombre) {
if ($nombre % 2 == 0) {
return 0;
} else {
return 1;
}
},
$listeNombres
);
var_dump($tab); // [1, 0, 1, 1, 1, 1, 0, 0, 1, 0]
Simplification avec ternaire
<?php
$listeNombres = [5, 12, 7, 9, 3, 17, 8, 2, 15, 14];
$tab = array_map(
function ($nombre) {
return ($nombre % 2 == 0) ? 0 : 1;
},
$listeNombres
);
var_dump($tab); // [1, 0, 1, 1, 1, 1, 0, 0, 1, 0]
Simplification cas particulier
<?php
$listeNombres = [5, 12, 7, 9, 3, 17, 8, 2, 15, 14];
$tab = array_map(
function ($nombre) {
return $nombre % 2;
},
$listeNombres
);
var_dump($tab); // [1, 0, 1, 1, 1, 1, 0, 0, 1, 0]
Équivalent avec fonction fléchée
<?php
$listeNombres = [5, 12, 7, 9, 3, 17, 8, 2, 15, 14];
$tab = array_map(fn ($nombre) => $nombre % 2, $listeNombres);
var_dump($tab); // [1, 0, 1, 1, 1, 1, 0, 0, 1, 0]
Équivalent avec foreach
<?php
$listeNombres = [5, 12, 7, 9, 3, 17, 8, 2, 15, 14];
$tab = [];
foreach ($listeNombres as $nombre) {
$tab[] = $nombre % 2;
}
var_dump($tab);
Exemple : Longueur des mots
<?php
$listeMots = ['bonjour', 'hello', 'matin', 'soir', 'journée', 'maintenant', 'après'];
$tab = array_map(
function ($mot) {
return mb_strlen($mot);
},
$listeMots
);
var_dump($tab); // [7, 5, 5, 4, 7, 9, 5]
Équivalent avec fonction fléchée
<?php
$listeMots = ['bonjour', 'hello', 'matin', 'soir', 'journée', 'maintenant', 'après'];
$tab = array_map(fn ($mot) => mb_strlen($mot), $listeMots);
var_dump($tab); // [7, 5, 5, 4, 7, 9, 5]
Équivalent avec foreach
<?php
$listeMots = ['bonjour', 'hello', 'matin', 'soir', 'journée', 'maintenant', 'après'];
$tab = [];
foreach ($listeMots as $mot) {
$tab[] = mb_strlen($mot);
}
var_dump($tab);
Équivalent avec for
<?php
$listeMots = ['bonjour', 'hello', 'matin', 'soir', 'journée', 'maintenant', 'après'];
$tab = [];
for ($i = 0; $i < count($listeMots); $i++) {
$tab[] = mb_strlen($listeMots[$i]);
}
var_dump($tab);
Exemple : Première lettre des mots
<?php
$listeMots = ['bonjour', 'hello', 'matin', 'soir', 'journée', 'maintenant', 'après'];
$tab = array_map(
function ($mot) {
return mb_substr($mot, 0, 1);
},
$listeMots
);
var_dump($tab); // ['b', 'h', 'm', 's', 'j', 'm', 'a']
Équivalent avec fonction fléchée
<?php
$listeMots = ['bonjour', 'hello', 'matin', 'soir', 'journée', 'maintenant', 'après'];
$tab = array_map(fn ($mot) => mb_substr($mot, 0, 1), $listeMots);
var_dump($tab); // ['b', 'h', 'm', 's', 'j', 'm', 'a']
Équivalent avec foreach
<?php
$listeMots = ['bonjour', 'hello', 'matin', 'soir', 'journée', 'maintenant', 'après'];
$tab = [];
foreach ($listeMots as $mot) {
$tab[] = mb_substr($mot, 0, 1);
}
var_dump($tab);
Équivalent avec for
<?php
$listeMots = ['bonjour', 'hello', 'matin', 'soir', 'journée', 'maintenant', 'après'];
$tab = [];
for ($i = 0; $i < count($listeMots); $i++) {
$tab[] = mb_substr($listeMots[$i], 0, 1);
}
var_dump($tab);
Exemple : Liste des noms d'une liste de tableaux associatifs
<?php
$listePersonnes = [
['id' => 8, 'nom' => 'Aule', 'prenom' => 'Lucie', 'age' => 45],
['id' => 9, 'nom' => 'Ball', 'prenom' => 'Annie', 'age' => 24],
['id' => 10, 'nom' => 'Bon', 'prenom' => 'Jean', 'age' => 65],
['id' => 11, 'nom' => 'Braisile', 'prenom' => 'France', 'age' => 13]
];
$tab = array_map(
function ($personne) {
return $personne['nom'];
},
$listePersonnes
);
var_dump($tab); // ['Aule', 'Ball', 'Bon', 'Braisile']
Équivalent avec fonction fléchée
<?php
$listePersonnes = [
['id' => 8, 'nom' => 'Aule', 'prenom' => 'Lucie', 'age' => 45],
['id' => 9, 'nom' => 'Ball', 'prenom' => 'Annie', 'age' => 24],
['id' => 10, 'nom' => 'Bon', 'prenom' => 'Jean', 'age' => 65],
['id' => 11, 'nom' => 'Braisile', 'prenom' => 'France', 'age' => 13]
];
$tab = array_map(fn ($personne) => $personne['nom'], $listePersonnes);
var_dump($tab); // ['Aule', 'Ball', 'Bon', 'Braisile']
Équivalent avec foreach
<?php
$listePersonnes = [
['id' => 8, 'nom' => 'Aule', 'prenom' => 'Lucie', 'age' => 45],
['id' => 9, 'nom' => 'Ball', 'prenom' => 'Annie', 'age' => 24],
['id' => 10, 'nom' => 'Bon', 'prenom' => 'Jean', 'age' => 65],
['id' => 11, 'nom' => 'Braisile', 'prenom' => 'France', 'age' => 13]
];
$tab = [];
foreach ($listePersonnes as $personne) {
$tab[] = $personne['nom'];
}
var_dump($tab);
Équivalent avec for
<?php
$listePersonnes = [
['id' => 8, 'nom' => 'Aule', 'prenom' => 'Lucie', 'age' => 45],
['id' => 9, 'nom' => 'Ball', 'prenom' => 'Annie', 'age' => 24],
['id' => 10, 'nom' => 'Bon', 'prenom' => 'Jean', 'age' => 65],
['id' => 11, 'nom' => 'Braisile', 'prenom' => 'France', 'age' => 13]
];
$tab = [];
for ($i = 0; $i < count($listePersonnes ); $i++) {
$tab[] = $listePersonnes[$i]['nom'];
}
var_dump($tab);
Exemple : Liste des initiales des personnes d'une liste de tableaux associatifs
<?php
$listePersonnes = [
['id' => 8, 'nom' => 'Aule', 'prenom' => 'Lucie', 'age' => 45],
['id' => 9, 'nom' => 'Ball', 'prenom' => 'Annie', 'age' => 24],
['id' => 10, 'nom' => 'Bon', 'prenom' => 'Jean', 'age' => 65],
['id' => 11, 'nom' => 'Braisile', 'prenom' => 'France', 'age' => 13]
];
$tab = array_map(
function ($personne) {
return mb_substr($personne['nom'], 0, 1) . mb_substr($personne['prenom'], 0, 1);
},
$listePersonnes
);
var_dump($tab); // ['AL', 'BA', 'BJ', 'BF']
Équivalent avec fonction fléchée
<?php
$listePersonnes = [
['id' => 8, 'nom' => 'Aule', 'prenom' => 'Lucie', 'age' => 45],
['id' => 9, 'nom' => 'Ball', 'prenom' => 'Annie', 'age' => 24],
['id' => 10, 'nom' => 'Bon', 'prenom' => 'Jean', 'age' => 65],
['id' => 11, 'nom' => 'Braisile', 'prenom' => 'France', 'age' => 13]
];
$tab = array_map(fn ($personne) => mb_substr($personne['nom'], 0, 1) . mb_substr($personne['prenom'], 0, 1), $listePersonnes);
var_dump($tab); // ['AL', 'BA', 'BJ', 'BF']
Équivalent avec foreach
<?php
$listePersonnes = [
['id' => 8, 'nom' => 'Aule', 'prenom' => 'Lucie', 'age' => 45],
['id' => 9, 'nom' => 'Ball', 'prenom' => 'Annie', 'age' => 24],
['id' => 10, 'nom' => 'Bon', 'prenom' => 'Jean', 'age' => 65],
['id' => 11, 'nom' => 'Braisile', 'prenom' => 'France', 'age' => 13]
];
$tab = [];
foreach ($listePersonnes as $personne) {
$tab[] = mb_substr($personne['nom'], 0, 1) . mb_substr($personne['prenom'], 0, 1);
}
var_dump($tab);
Équivalent avec for
<?php
$listePersonnes = [
['id' => 8, 'nom' => 'Aule', 'prenom' => 'Lucie', 'age' => 45],
['id' => 9, 'nom' => 'Ball', 'prenom' => 'Annie', 'age' => 24],
['id' => 10, 'nom' => 'Bon', 'prenom' => 'Jean', 'age' => 65],
['id' => 11, 'nom' => 'Braisile', 'prenom' => 'France', 'age' => 13]
];
$tab = [];
for ($i = 0; $i < count($listePersonnes); $i++) {
$tab[] = mb_substr($listePersonnes[$i]['nom'], 0, 1) . mb_substr($listePersonnes[$i]['prenom'], 0, 1);
}
var_dump($tab);