array_map

1
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

ExempleDoublement des valeurs du tableau

1
<?php
2
$listeNombres = [5, 12, 7, 9, 3, 17, 8, 2, 15, 14];
3
4
$tab = array_map(
5
    function ($nombre) {
6
        return $nombre * 2;
7
    },
8
    $listeNombres
9
);
10
11
var_dump($tab); // [10, 24, 14, 18, 6, 34, 16, 4, 30, 28]

Équivalent avec fonction fléchée

1
<?php
2
$listeNombres = [5, 12, 7, 9, 3, 17, 8, 2, 15, 14];
3
4
$tab = array_map(fn ($nombre) => $nombre * 2, $listeNombres);
5
6
var_dump($tab); // [10, 24, 14, 18, 6, 34, 16, 4, 30, 28]

Équivalent avec foreach

1
<?php
2
$listeNombres = [5, 12, 7, 9, 3, 17, 8, 2, 15, 14];
3
4
$tab = [];
5
foreach ($listeNombres as $nombre) {
6
    $tab[] = $nombre * 2;
7
}
8
9
var_dump($tab);

Équivalent avec for

1
<?php
2
$listeNombres = [5, 12, 7, 9, 3, 17, 8, 2, 15, 14];
3
4
$tab = [];
5
for ($i = 0; $i < count($listeNombres); $i++) {
6
    $tab[] = $listeNombres[$i] * 2;
7
}
8
9
var_dump($tab);

ExempleRemplace les valeurs paires par 0 et les valeurs impaires par 1

1
<?php
2
$listeNombres = [5, 12, 7, 9, 3, 17, 8, 2, 15, 14];
3
4
$tab = array_map(
5
    function ($nombre) {
6
        if ($nombre % 2 == 0) {
7
            return 0;
8
        } else {
9
            return 1;
10
        }
11
    },
12
    $listeNombres
13
);
14
15
var_dump($tab); // [1, 0, 1, 1, 1, 1, 0, 0, 1, 0]

Simplification avec ternaire

1
<?php
2
$listeNombres = [5, 12, 7, 9, 3, 17, 8, 2, 15, 14];
3
4
$tab = array_map(
5
    function ($nombre) {
6
        return ($nombre % 2 == 0) ? 0 : 1;
7
    },
8
    $listeNombres
9
);
10
11
var_dump($tab); // [1, 0, 1, 1, 1, 1, 0, 0, 1, 0]

Simplification cas particulier

1
<?php
2
$listeNombres = [5, 12, 7, 9, 3, 17, 8, 2, 15, 14];
3
4
$tab = array_map(
5
    function ($nombre) {
6
        return $nombre % 2;
7
    },
8
    $listeNombres
9
);
10
11
var_dump($tab); // [1, 0, 1, 1, 1, 1, 0, 0, 1, 0]

Équivalent avec fonction fléchée

1
<?php
2
$listeNombres = [5, 12, 7, 9, 3, 17, 8, 2, 15, 14];
3
4
$tab = array_map(fn ($nombre) => $nombre % 2, $listeNombres);
5
6
var_dump($tab); // [1, 0, 1, 1, 1, 1, 0, 0, 1, 0]

Équivalent avec foreach

1
<?php
2
$listeNombres = [5, 12, 7, 9, 3, 17, 8, 2, 15, 14];
3
4
$tab = [];
5
foreach ($listeNombres as $nombre) {
6
    $tab[] = $nombre % 2;
7
}
8
9
var_dump($tab);

ExempleLongueur des mots

1
<?php
2
$listeMots = ['bonjour', 'hello', 'matin', 'soir', 'journée', 'maintenant', 'après'];
3
4
$tab = array_map(
5
    function ($mot) {
6
        return mb_strlen($mot);
7
    },
8
    $listeMots
9
);
10
11
var_dump($tab); // [7, 5, 5, 4, 7, 9, 5]

Équivalent avec fonction fléchée

1
<?php
2
$listeMots = ['bonjour', 'hello', 'matin', 'soir', 'journée', 'maintenant', 'après'];
3
4
$tab = array_map(fn ($mot) => mb_strlen($mot), $listeMots);
5
6
var_dump($tab); // [7, 5, 5, 4, 7, 9, 5]

Équivalent avec foreach

1
<?php
2
$listeMots = ['bonjour', 'hello', 'matin', 'soir', 'journée', 'maintenant', 'après'];
3
4
$tab = [];
5
foreach ($listeMots as $mot) {
6
    $tab[] = mb_strlen($mot);
7
}
8
9
var_dump($tab);

Équivalent avec for

1
<?php
2
$listeMots = ['bonjour', 'hello', 'matin', 'soir', 'journée', 'maintenant', 'après'];
3
4
$tab = [];
5
for ($i = 0; $i < count($listeMots); $i++) {
6
    $tab[] = mb_strlen($listeMots[$i]);
7
}
8
9
var_dump($tab);

ExemplePremière lettre des mots

1
<?php
2
$listeMots = ['bonjour', 'hello', 'matin', 'soir', 'journée', 'maintenant', 'après'];
3
4
$tab = array_map(
5
    function ($mot) {
6
        return mb_substr($mot, 0, 1);
7
    },
8
    $listeMots
9
);
10
11
var_dump($tab); // ['b', 'h', 'm', 's', 'j', 'm', 'a']

Équivalent avec fonction fléchée

1
<?php
2
$listeMots = ['bonjour', 'hello', 'matin', 'soir', 'journée', 'maintenant', 'après'];
3
4
$tab = array_map(fn ($mot) => mb_substr($mot, 0, 1), $listeMots);
5
6
var_dump($tab); // ['b', 'h', 'm', 's', 'j', 'm', 'a']

Équivalent avec foreach

1
<?php
2
$listeMots = ['bonjour', 'hello', 'matin', 'soir', 'journée', 'maintenant', 'après'];
3
4
$tab = [];
5
foreach ($listeMots as $mot) {
6
    $tab[] = mb_substr($mot, 0, 1);
7
}
8
9
var_dump($tab);

Équivalent avec for

1
<?php
2
$listeMots = ['bonjour', 'hello', 'matin', 'soir', 'journée', 'maintenant', 'après'];
3
4
$tab = [];
5
for ($i = 0; $i < count($listeMots); $i++) {
6
    $tab[] = mb_substr($listeMots[$i], 0, 1);
7
}
8
9
var_dump($tab);

ExempleListe des noms d'une liste de tableaux associatifs

1
<?php
2
$listePersonnes = [
3
    ['id' => 8, 'nom' => 'Aule', 'prenom' => 'Lucie', 'age' => 45],
4
    ['id' => 9, 'nom' => 'Ball', 'prenom' => 'Annie', 'age' => 24],
5
    ['id' => 10, 'nom' => 'Bon', 'prenom' => 'Jean', 'age' => 65],
6
    ['id' => 11, 'nom' => 'Braisile', 'prenom' => 'France', 'age' => 13]
7
];
8
9
$tab = array_map(
10
    function ($personne) {
11
        return $personne['nom'];
12
    },
13
    $listePersonnes
14
);
15
16
var_dump($tab); // ['Aule', 'Ball', 'Bon', 'Braisile']

Équivalent avec fonction fléchée

1
<?php
2
$listePersonnes = [
3
    ['id' => 8, 'nom' => 'Aule', 'prenom' => 'Lucie', 'age' => 45],
4
    ['id' => 9, 'nom' => 'Ball', 'prenom' => 'Annie', 'age' => 24],
5
    ['id' => 10, 'nom' => 'Bon', 'prenom' => 'Jean', 'age' => 65],
6
    ['id' => 11, 'nom' => 'Braisile', 'prenom' => 'France', 'age' => 13]
7
];
8
9
$tab = array_map(fn ($personne) => $personne['nom'], $listePersonnes);
10
11
var_dump($tab); // ['Aule', 'Ball', 'Bon', 'Braisile']

Équivalent avec foreach

1
<?php
2
$listePersonnes = [
3
    ['id' => 8, 'nom' => 'Aule', 'prenom' => 'Lucie', 'age' => 45],
4
    ['id' => 9, 'nom' => 'Ball', 'prenom' => 'Annie', 'age' => 24],
5
    ['id' => 10, 'nom' => 'Bon', 'prenom' => 'Jean', 'age' => 65],
6
    ['id' => 11, 'nom' => 'Braisile', 'prenom' => 'France', 'age' => 13]
7
];
8
9
$tab = [];
10
foreach ($listePersonnes as $personne) {
11
    $tab[] = $personne['nom'];
12
}
13
14
var_dump($tab);

Équivalent avec for

1
<?php
2
$listePersonnes = [
3
    ['id' => 8, 'nom' => 'Aule', 'prenom' => 'Lucie', 'age' => 45],
4
    ['id' => 9, 'nom' => 'Ball', 'prenom' => 'Annie', 'age' => 24],
5
    ['id' => 10, 'nom' => 'Bon', 'prenom' => 'Jean', 'age' => 65],
6
    ['id' => 11, 'nom' => 'Braisile', 'prenom' => 'France', 'age' => 13]
7
];
8
9
$tab = [];
10
for ($i = 0; $i < count($listePersonnes ); $i++) {
11
    $tab[] = $listePersonnes[$i]['nom'];
12
}
13
14
var_dump($tab);

ExempleListe des initiales des personnes d'une liste de tableaux associatifs

1
<?php
2
$listePersonnes = [
3
    ['id' => 8, 'nom' => 'Aule', 'prenom' => 'Lucie', 'age' => 45],
4
    ['id' => 9, 'nom' => 'Ball', 'prenom' => 'Annie', 'age' => 24],
5
    ['id' => 10, 'nom' => 'Bon', 'prenom' => 'Jean', 'age' => 65],
6
    ['id' => 11, 'nom' => 'Braisile', 'prenom' => 'France', 'age' => 13]
7
];
8
9
$tab = array_map(
10
    function ($personne) {
11
        return mb_substr($personne['nom'], 0, 1) . mb_substr($personne['prenom'], 0, 1);
12
    },
13
    $listePersonnes
14
);
15
16
var_dump($tab); // ['AL', 'BA', 'BJ', 'BF']

Équivalent avec fonction fléchée

1
<?php
2
$listePersonnes = [
3
    ['id' => 8, 'nom' => 'Aule', 'prenom' => 'Lucie', 'age' => 45],
4
    ['id' => 9, 'nom' => 'Ball', 'prenom' => 'Annie', 'age' => 24],
5
    ['id' => 10, 'nom' => 'Bon', 'prenom' => 'Jean', 'age' => 65],
6
    ['id' => 11, 'nom' => 'Braisile', 'prenom' => 'France', 'age' => 13]
7
];
8
9
$tab = array_map(fn ($personne) => mb_substr($personne['nom'], 0, 1) . mb_substr($personne['prenom'], 0, 1), $listePersonnes);
10
11
var_dump($tab); // ['AL', 'BA', 'BJ', 'BF']

Équivalent avec foreach

1
<?php
2
$listePersonnes = [
3
    ['id' => 8, 'nom' => 'Aule', 'prenom' => 'Lucie', 'age' => 45],
4
    ['id' => 9, 'nom' => 'Ball', 'prenom' => 'Annie', 'age' => 24],
5
    ['id' => 10, 'nom' => 'Bon', 'prenom' => 'Jean', 'age' => 65],
6
    ['id' => 11, 'nom' => 'Braisile', 'prenom' => 'France', 'age' => 13]
7
];
8
9
$tab = [];
10
foreach ($listePersonnes as $personne) {
11
    $tab[] = mb_substr($personne['nom'], 0, 1) . mb_substr($personne['prenom'], 0, 1);
12
}
13
14
var_dump($tab);

Équivalent avec for

1
<?php
2
$listePersonnes = [
3
    ['id' => 8, 'nom' => 'Aule', 'prenom' => 'Lucie', 'age' => 45],
4
    ['id' => 9, 'nom' => 'Ball', 'prenom' => 'Annie', 'age' => 24],
5
    ['id' => 10, 'nom' => 'Bon', 'prenom' => 'Jean', 'age' => 65],
6
    ['id' => 11, 'nom' => 'Braisile', 'prenom' => 'France', 'age' => 13]
7
];
8
9
$tab = [];
10
for ($i = 0; $i < count($listePersonnes); $i++) {
11
    $tab[] = mb_substr($listePersonnes[$i]['nom'], 0, 1) . mb_substr($listePersonnes[$i]['prenom'], 0, 1);
12
}
13
14
var_dump($tab);