SymfonyLive Paris 2025, la plus grande conférence Symfony en français, a lieu les 27 et 28 mars 🥐 Réservez votre billet ici dès maintenant


Optimisez Votre Code PHP : 8 Fonctions à Connaître pour Manipuler les Tableaux avec Efficacité

· Imen Ezzine · Temps de lecture: 3 minutes
Blue ElePHPant on a computer

Devenir un excellent développeur PHP nécessite une maîtrise parfaite de la manipulation des tableaux. Ces structures sont incontournables en PHP, que ce soit pour stocker temporairement des données, les organiser ou les traiter avant leur enregistrement dans une base de données. En maîtrisant leur fonctionnement, vous serez en mesure de gérer et de manipuler vos informations de manière plus efficace et optimisée.

Dans cet article, nous allons voir huit fonctions importantes pour travailler efficacement avec les tableaux en PHP. Elles vous permettront d'optimiser votre code et de résoudre des problèmes complexes plus facilement.

1. array_map

La fonction array_map applique une fonction donnée à chaque élément d'un ou plusieurs tableaux et retourne un tableau contenant les résultats. À noter que les clés des tableaux d'origine ne sont pas affectées : elles sont conservées dans le tableau résultant, même si les valeurs sont modifiées.

Exemple :

$numbers = [1, 2, 3, 4];
$squaredNumbers = array_map(function($n) {
  return $n * $n;
}, $numbers);

print_r($squaredNumbers); 
// Résultat : [1, 4, 9, 16]

Astuce : Si vous n’avez pas besoin de créer un nouveau tableau, mais souhaitez simplement modifier le tableau existant, vous pouvez utiliser array_walk. array_walk applique une fonction à chaque élément du tableau mais modifie directement ce dernier, sans le retourner. Cela peut être plus efficace dans certains cas.

Exemple avec array_walk

$numbers = [1, 2, 3, 4];
array_walk($numbers, function(&$n) {
    $n *= $n;
});
print_r($numbers);
// Résultat : [1, 4, 9, 16]

Comme vous pouvez le voir, array_walk modifie directement le tableau $numbers sans en créer un nouveau.

2. array_reduce

La fonction array_reduce est utilisée pour réduire un tableau à une seule valeur cumulative en appliquant une fonction de rappel (callback) à ses éléments. Cependant, cette “valeur” peut être de n’importe quel type, y compris un tableau, une chaîne ou un objet, en fonction de la logique définie dans le callback.

Exemple :

$numbers = [1, 2, 3, 4];
$sum = array_reduce($numbers, function($carry, $item) {
. return $carry + $item;
}, 0);

echo $sum; 
// Résultat : 10

3. array_filter

La fonction array_filter filtre les éléments d’un tableau en fonction d’une fonction de rappel. Seuls les éléments pour lesquels la fonction de rappel retourne true seront inclus dans le tableau retourné. Il est important de noter que la fonction de rappel peut également accepter la clé de chaque élément, ce qui permet de filtrer non seulement en fonction de la valeur mais aussi de la clé.

Pour plus d’informations, tu peux consulter la documentation officielle sur array_filter avec mode.

Exemple :

$numbers = [1, 2, 3, 4, 5];
$evenNumbers = array_filter($numbers, function($n) {
. return $n % 2 === 0;
});

print_r($evenNumbers); 
// Résultat : [2, 4]

4. array_merge

La fonction array_merge combine un ou plusieurs tableaux en un seul. Cette fonction sert à fusionner plusieurs ensembles de données.

Exemple :

$array1 = ["a" => "pomme", "b" => "banane"];
$array2 = ["a" => "ananas", "c" => "citron"];
$result = array_merge($array1, $array2);

print_r($result);
// Résultat : ["a" => "ananas", "b" => "banane", "c" => "citron"]

5. array_keys

La fonction array_keys retourne toutes les clés d’un tableau ou les clés correspondant à une valeur spécifiée. Elle sert particulièrement pour récupérer des indices de tableaux associatifs.

Exemple :

$array = ["a" => "pomme", "b" => "banane", "c" => "citron"];
$keys = array_keys($array);

print_r($keys); 
// Résultat : ["a", "b", "c"]

Cependant, pour vérifier si une clé existe dans un tableau, c'est plus efficace d’utiliser array_key_exists plutôt que d'obtenir toutes les clés avec array_keys puis d'utiliser in_array. Utiliser array_key_exists est plus direct et évite des opérations inutiles

$array = ['nom' => 'Jean', 'âge' => 30];

if (array_key_exists('nom', $array)) {
    echo 'La clé "nom" existe dans le tableau';
}

6. array_values

La fonction array_values retourne toutes les valeurs d’un tableau. Je vous conseille de l’utiliser lorsque vous souhaitez récupérer un tableau indexé uniquement par des entiers à partir d’un tableau associatif.

Exemple :

$array = ['a' => 'pomme', 'b' => 'banane', 'c' => 'citron'];

$values = array_values($array);

print_r($values); 

// Résultat : ['pomme', 'banane', 'citron']

7. array_unique

La fonction array_unique permet de supprimer les doublons d’un tableau. Cette fonction est utile pour obtenir un ensemble de valeurs distinctes.

Exemple :

$array = ['pomme', 'banane', 'pomme', 'citron'];
$uniqueArray = array_unique($array);

print_r($uniqueArray); 
// Résultat : ['pomme', 'banane', 'citron']

8. array_combine

La fonction array_combine crée un tableau en combinant deux tableaux distincts : l'un contenant les clés et l'autre contenant les valeurs. Chaque clé du premier tableau sera associée à une valeur correspondante du second tableau. C'est pratique pour associer deux ensembles de données, comme des noms et des âges.

Exemple :

$keys = ['nom', 'prénom', 'âge'];
$values = ['Dupont', 'Jean', 30];

$resultat = array_combine($keys, $values);

print_r($resultat);
// Résultat :
// Array
// (
//     [nom] => Dupont
//     [prénom] => Jean
//     [âge] => 30
// )

Conclusion

La manipulation des tableaux est une compétence fondamentale pour tout développeur PHP. En maîtrisant ces fonctions, vous serez capable de manipuler les données de manière plus efficace et d’écrire du code plus propre et maintenable. Que ce soit pour transformer, filtrer, fusionner ou réduire des tableaux, ces outils sont indispensables pour résoudre les problèmes quotidiens que vous rencontrerez dans vos projets. Prenez le temps de bien comprendre leur fonctionnement et de les intégrer dans votre boîte à outils de développeur.

Pour découvrir davantage de fonctions liées aux tableaux et enrichir vos connaissances en PHP, vous pouvez consulter la documentation officielle sur le site de PHP : https://www.php.net/manual/en/ref.array.php. Vous y trouverez une liste complète des fonctions disponibles pour manipuler et transformer les tableaux, avec des exemples et des explications détaillées.

Besoin de l'aide d'un expert pour optimiser votre code PHP ?

Les experts de SensioLabs, le créateur de Symfony, le framework PHP de référence, vous aident à améliorer votre code PHP.

cookie

Ce site utilise des cookies et vous donne le contrôle sur ceux que vous souhaitez activer. Lire la politique de confidentialité

Image