Fonctions de transformation des tableaux
Appliquez array_map, array_filter et array_reduce.
Fonctions de transformation des tableaux est une leçon PHP Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage PHP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours PHP Academy comprend 4 leçons au total.
Transformations fonctionnelles de tableaux
PHP fournit trois puissantes fonctions d'ordre supérieur pour transformer des tableaux sans boucles explicites :
array_map()— transformer chaque élémentarray_filter()— conserver les éléments qui réussissent un testarray_reduce()— réduire le tableau à une seule valeur
array_map()
Appliquez une fonction de rappel à chaque élément et renvoyez un nouveau tableau :
<?php
$prices = [10, 20, 30, 40];
$doubled = array_map(fn($p) => $p * 2, $prices);
print_r($doubled); // [20, 40, 60, 80]
// Multiple arrays
$a = [1, 2, 3];
$b = [10, 20, 30];
$sums = array_map(fn($x, $y) => $x + $y, $a, $b);
print_r($sums); // [11, 22, 33]array_filter()
Conservez les éléments qui satisfont une fonction de rappel. Sans fonction de rappel, les valeurs évaluées comme fausses sont supprimées :
<?php
$numbers = [1, 2, 3, 4, 5, 6];
$evens = array_filter($numbers, fn($n) => $n % 2 === 0);
print_r($evens); // [1=>2, 3=>4, 5=>6] — keys preserved!
$reindexed = array_values($evens); // re-index
$mixed = [0, 'hello', '', null, false, 42];
print_r(array_filter($mixed)); // [1=>'hello', 5=>42]array_reduce()
Réduisez un tableau à une seule valeur en appliquant cumulativement une fonction de rappel :
<?php
$cart = [
['name' => 'Widget', 'price' => 10],
['name' => 'Gadget', 'price' => 25],
['name' => 'Doohickey', 'price' => 5],
];
$total = array_reduce($cart, fn($carry, $item) => $carry + $item['price'], 0);
echo $total; // 40Enchaîner des transformations
Enchaînez le mappage, le filtrage et la réduction pour créer des enchaînements de traitement des données expressifs :
<?php
$scores = [45, 80, 30, 90, 55, 70];
$passingAvg = array_sum(
array_filter($scores, fn($s) => $s >= 50)
) / count(array_filter($scores, fn($s) => $s >= 50));
echo $passingAvg; // 74.75array_map avec des clés
array_map ne transmet pas les clés. Utilisez array_walk lorsque vous avez besoin de la clé et de la valeur :
<?php
$prices = ['apple' => 1.0, 'banana' => 0.5, 'cherry' => 2.0];
$formatted = [];
array_walk($prices, function($price, $name) use (&$formatted) {
$formatted[$name] = '$' . number_format($price, 2);
});
print_r($formatted);array_chunk()
Divisez un tableau en blocs d’une taille donnée :
<?php
$items = range(1, 10);
$batches = array_chunk($items, 3);
print_r($batches);
// [[1,2,3], [4,5,6], [7,8,9], [10]]array_combine()
Créez un tableau associatif en combinant un tableau de clés avec un tableau de valeurs :
<?php
$keys = ['name', 'age', 'city'];
$values = ['Alice', 30, 'London'];
$person = array_combine($keys, $values);
print_r($person);
// ['name'=>'Alice','age'=>30,'city'=>'London']Assemblage de tableaux avec array_map
PHP ne dispose pas de fonction native pour assembler des tableaux, mais array_map(null, ...) crée une structure similaire :
<?php
$names = ['Alice', 'Bob'];
$scores = [90, 85];
$zipped = array_map(null, $names, $scores);
print_r($zipped);
// [['Alice', 90], ['Bob', 85]]array_map conserve les clés
Avec un seul tableau, array_map conserve les clés. Utilisez array_values pour réindexer :
<?php
$assoc = ['a' => 1, 'b' => 2, 'c' => 3];
$result = array_map(fn($v) => $v * 10, $assoc);
print_r($result);
// ['a'=>10, 'b'=>20, 'c'=>30] — keys preservedarray_sum et array_product
Des fonctions pratiques pour réduire rapidement des tableaux numériques :
<?php
$nums = [1, 2, 3, 4, 5];
echo array_sum($nums); // 15
echo array_product($nums); // 120 (1*2*3*4*5)
// Works with floats too
$prices = [1.5, 2.5, 3.0];
echo array_sum($prices); // 7.0Vérification rapide
Quelle fonction applique une fonction de rappel à chaque élément et renvoie un nouveau tableau ?
Récapitulatif : fonctions de transformation des tableaux
Résumé :
array_map()— transforme chaque élément en un nouveau tableauarray_filter()— conserve les éléments correspondant à un prédicatarray_reduce()— réduit le tableau à une seule valeur cumuléearray_chunk()— divise le tableau en sous-tableauxarray_combine()— crée un tableau associatif à partir de clés et de valeursarray_sum/product()— réductions numériques rapides
Questions Fréquemment Posées
La leçon « Fonctions de transformation des tableaux » est-elle gratuite ?
Oui — le texte complet de « Fonctions de transformation des tableaux » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours PHP Academy, passe à CoddyKit PRO. Le cours PHP Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Fonctions de transformation des tableaux » ?
Appliquez array_map, array_filter et array_reduce. Tu pratiques PHP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer PHP Academy ?
Aucune expérience préalable n'est requise. PHP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Fonctions de transformation des tableaux » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon PHP Academy ?
Oui. Chaque leçon PHP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Tableaux indexés et associatifs
- Tableaux multidimensionnels
- Trier et rechercher dans des tableaux
- Fonctions de transformation des tableaux