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.

Cela pourrait aussi vous intéresser

PHP 8.5 URI extension
Oskar Stark

La nouvelle extension URI de PHP 8.5 : Une révolution pour l'analyse des URL

PHP 8.5 introduit une nouvelle extension URI puissante qui modernise la gestion des URL. Grâce au support des standards RFC 3986 et WHATWG, la nouvelle classe Uri fournit des objets immuables, des interfaces fluides et une validation appropriée, résolvant ainsi toutes les limites de la fonction historique parse_url(). Cet articl présente des exemples pratiques avant/après et explique quand utiliser chaque standard.

En savoir plus
Open in new tab
Silas Joisten

Le piège des onglets: pourquoi forcer l'ouverture de nouveaux onglets est une mauvaise pratique en UX

Nous l'avons tous fait — ajouter target="_blank" à un lien pour « aider les utilisateurs » à rester sur notre site. Mais ce qui semble être une commodité inoffensive crée souvent de la confusion, diminue l'accessibilité et introduit des risques de sécurité cachés.

En savoir plus
3 dog heads
Mathieu Santostefano

Venez avec votre propre client HTTP

Libérez-vous des dépendances rigides de vos SDK PHP. Dans cet article, apprenez à utiliser les normes PSR-7, PSR-17 et PSR-18, ainsi que la bibliothèque php-http/discovery, pour permettre à vos utilisateurs d'utiliser le client HTTP de leur choix, qu'il s'agisse de Guzzle, de Symfony HttpClient ou d'un autre. Un incontournable pour les développeurs PHP et Symfony.

En savoir plus
Blue sign on a building with several Now What? letters
Thibaut Chieux

Comment prioriser les messages lors du développement d'applications asynchrones avec Symfony Messenger

Le traitement asynchrone offre des avantages tels que la découplage des processus et des temps de réponse plus rapides, mais la gestion des priorités des messages peut s'avérer complexe. Pour traiter des tâches allant de la réinitialisation de mot de passe à des exports complexes, il est essentiel de garantir la livraison rapide des messages critiques. Cet article examine les problèmes fréquents liés au traitement asynchrone et propose des solutions avec Symfony Messenger pour optimiser votre application sans refonte majeure.

En savoir plus
PHP 8.5
Oskar Stark

Quoi de neuf dans PHP 8.5 ? Un aperçu complet

PHP 8.5 sort en novembre 2025 et apporte plusieurs nouvelles fonctionnalités utiles et des améliorations. Cette nouvelle version se concentre sur l'amélioration de l'expérience développeur, de nouvelles fonctions utilitaires et de meilleures capacités de débogage.

En savoir plus
Two images: on the left many cars stuck in a traffic jam with the sign "All directions" above, on the right a blue car moving forward alone on the highway with the sign "Service Subscriber" and a Symfony logo above
Steven Renaux

Les Lazy Services de Symfony : Boostez votre DX en utilisant les Service Subscribers

Optimisez la performance de votre application Symfony et l'expérience développeur ! Apprenez à utiliser les Service Subscribers et les attributs de chargement différé des services afin de réduire l'instanciation rapide, de simplifier les dépendances et de créer un code modulaire et maintenable.

En savoir plus
the surface of the earth seen from the space with city lights forming networks
Imen Ezzine

Les verbes HTTP : votre Guide Complet

Apprenez les bases des verbes HTTP : GET, POST, PUT, DELETE, et plus encore. Cet article vous explique leur fonctionnement, leurs utilisations et les conséquences en matière de sécurité.

En savoir plus
Domain Driven Design practical approach
Silas Joisten

Appliquer le Domain-Driven Design à PHP et Symfony : Un Guide Pratique

Le Domain-Driven Design (DDD) s'applique à Symfony grâce à des Value Objects, des dépôts et des contextes bornés. Dans cet article, découvrez les étapes concrètes pour construire des applications PHP évolutives.

En savoir plus
Image