Aller au contenu

Fonction PHP Array Reduce : Le Guide Ultime

La fonction PHP Array Reduce est un outil puissant pour traiter les tableaux et les transformer en une seule valeur. Elle est souvent utilisée pour des tâches telles que l'addition des éléments d'un tableau, le comptage des éléments ou la transformation de tableaux en objets. Dans ce guide complet, nous explorerons en profondeur la fonction PHP Array Reduce, y compris sa syntaxe, son utilisation et des exemples pratiques.

Syntaxe de la fonction PHP Array Reduce

La syntaxe de la fonction PHP Array Reduce est la suivante :

Syntaxe de la fonction PHP Array Reduce

php
array_reduce(array, callback, initial);

array est le tableau d'entrée à traiter, callback est la fonction utilisée pour traiter chaque élément du tableau, et initial est une valeur optionnelle qui sert de valeur de départ pour le traitement.

Utilisation de la fonction PHP Array Reduce

La fonction PHP Array Reduce peut être utilisée de différentes manières, en fonction des besoins spécifiques de votre projet. Parmi les cas d'utilisation courants, on trouve :

  • Additionner les éléments d'un tableau
  • Compter les éléments d'un tableau
  • Transformer des tableaux en objets
  • Aplatir des tableaux
  • Fusionner des tableaux

Exemple 1 : Additionner les éléments d'un tableau

L'une des utilisations les plus courantes de la fonction PHP Array Reduce est d'additionner les éléments d'un tableau. Pour ce faire, il suffit de fournir une fonction de rappel (callback) qui ajoute l'élément actuel au total cumulé.

Exemple PHP 1 : Additionner les éléments d'un tableau à l'aide de array_reduce

php
<?php

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

echo $sum; // 15

?>

Dans cet exemple, la variable $carry suit le total cumulé, en partant de 0. La variable $item contient l'élément actuel en cours de traitement.

Exemple 2 : Compter les éléments d'un tableau

Une autre utilisation courante de la fonction PHP Array Reduce est de compter les éléments d'un tableau. Pour ce faire, il suffit de fournir une fonction de rappel qui incrémente un compteur à chaque fois qu'un élément est traité.

Exemple PHP 2 : Compter les éléments d'un tableau à l'aide de array_reduce

php
<?php

$words = array("apple", "banana", "cherry");
$count = array_reduce($words, function($carry, $item) {
    return $carry + 1;
}, 0);

echo $count; // 3

?>

Dans cet exemple, la variable $carry suit le compteur, en partant de 0. La variable $item contient l'élément actuel en cours de traitement, mais n'est pas utilisée dans ce cas.

Exemple 3 : Transformer des tableaux en objets

La fonction PHP Array Reduce peut également être utilisée pour transformer des tableaux en objets. Pour ce faire, vous fournissez une fonction de rappel qui construit un objet en fonction de l'élément actuel en cours de traitement.

Exemple PHP 3 : Transformer des tableaux en objets à l'aide de array_reduce

php
<?php

$data = array(
    array("name" => "John", "age" => 25),
    array("name" => "Jane", "age" => 30),
    array("name" => "Jim", "age" => 35)
);

$people = array_reduce($data, function($carry, $item) {
    $carry[$item["name"]] = $item["age"];
    return $carry;
}, array());

print_r($people);

?>

Dans cet exemple, la variable $carry commence comme un tableau vide et est progressivement transformée en objet. La variable $item contient l'élément actuel en cours de traitement, qui est un tableau contenant le nom et l'âge d'une personne. La fonction de rappel ajoute le nom et l'âge de chaque personne sous forme de paire clé-valeur dans l'objet $carry.

Exemple 4 : Aplatir des tableaux

La fonction PHP Array Reduce peut également être utilisée pour aplatir des tableaux. Pour ce faire, vous fournissez une fonction de rappel qui concatène chaque élément du tableau au résultat cumulé.

Exemple PHP 4 : Aplatir des tableaux à l'aide de array_reduce

php
<?php

$numbers = array(array(1, 2), array(3, 4), array(5));
$flat = array_reduce($numbers, function($carry, $item) {
    return array_merge($carry, $item);
}, array());

print_r($flat); // Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )

?>

Dans cet exemple, la variable $carry commence comme un tableau vide et est progressivement enrichie en fusionnant chaque élément du tableau $item avec elle.

Exemple 5 : Fusionner des tableaux

Enfin, la fonction PHP Array Reduce peut être utilisée pour fusionner des tableaux. Pour ce faire, vous fournissez une fonction de rappel qui combine chaque élément du tableau au résultat cumulé.

Exemple PHP 5 : Fusionner des tableaux à l'aide de array_reduce

php
<?php

$colors = array("red", "green", "blue");
$fruits = array("apple", "banana", "cherry");
$merged = array_reduce(array($colors, $fruits), function($carry, $item) {
    return array_merge($carry, $item);
}, array());

print_r($merged); // Array ( [0] => red [1] => green [2] => blue [3] => apple [4] => banana [5] => cherry )

?>

Dans cet exemple, la variable $carry commence comme un tableau vide et est progressivement enrichie en fusionnant chaque élément du tableau $item avec elle.

Conclusion

En conclusion, la fonction PHP Array Reduce est un outil polyvalent qui peut être utilisé pour diverses tâches de traitement de tableaux. Que vous ayez besoin d'additionner des éléments, de compter des éléments, de transformer des tableaux en objets, d'aplatir des tableaux ou de fusionner des tableaux, la fonction PHP Array Reduce est à la hauteur. En comprenant sa syntaxe, son utilisation et ses exemples pratiques, vous maîtriserez cette fonction puissante et ferez passer vos compétences PHP au niveau supérieur.

Pratique

Que fait la fonction array_reduce() en PHP ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.