Maison >développement back-end >tutoriel php >Une manière élégante de calculer l'intersection et l'union de tableaux à l'aide de la fonction lambda en PHP
En PHP, les fonctions lambda peuvent être utilisées comme un moyen élégant de gérer l'intersection et l'union de tableaux. Pour les intersections, utilisez la fonction array_filter() avec la fonction lambda pour filtrer les éléments afin de déterminer s'ils existent dans un autre tableau ; pour les unions, utilisez la fonction array_reduce() avec la fonction lambda pour fusionner des éléments uniques entre les tableaux. Ces méthodes simplifient les calculs et améliorent la flexibilité et la lisibilité du code.
Une manière élégante de calculer l'intersection et l'union de tableaux à l'aide de la fonction lambda en PHP
La fonction lambda en PHP, également connue sous le nom de fonctions anonymes, fournit un moyen simple de manipuler et de transformer des tableaux. En profitant de leur simplicité, nous pouvons implémenter des opérations sur les tableaux plus complexes avec moins de code.
Calculer l'intersection d'un tableau
L'intersection d'un tableau est l'ensemble des éléments qui existent simultanément dans deux ou plusieurs tableaux. Nous pouvons calculer l'intersection en utilisant la fonction array_intersect()
, mais cela peut être fait de manière plus élégante en utilisant une fonction lambda. array_intersect()
函数计算交集,但使用 lambda 函数可以更优雅地实现。
<?php $array1 = [1, 2, 3, 4, 5]; $array2 = [3, 4, 5, 6, 7]; $intersection = array_filter($array1, function($value) use ($array2) { return in_array($value, $array2); }); print_r($intersection); ?>
输出:
Array ( [2] => 3 [3] => 4 [4] => 5 )
计算数组并集
数组并集是两个或多个数组中所有元素的集合。我们可以使用 array_merge()
<?php $array1 = [1, 2, 3, 4, 5]; $array2 = [3, 4, 5, 6, 7]; $union = array_reduce($array1, function($result, $value) use ($array2) { if (!in_array($value, $array2)) { $result[] = $value; } return $result; }, $array2); print_r($union); ?>Sortie :
Array ( [0] => 3 [1] => 4 [2] => 5 [3] => 6 [4] => 7 [5] => 1 [6] => 2 )
Compute array union
Une union de tableau est l'ensemble de tous les éléments dans deux tableaux ou plus. Nous pouvons calculer l'union en utilisant la fonctionarray_merge()
, mais la fonction lambda offre une approche plus flexible. <?php $user1Cart = [1, 2, 3, 4, 5]; $user2Cart = [3, 4, 5, 6, 7]; $commonItems = array_filter($user1Cart, function($value) use ($user2Cart) { return in_array($value, $user2Cart); }); // 展示共同购买的商品 foreach ($commonItems as $item) { echo $item . " "; } ?>Sortie :
3 4 5🎜Cas pratique🎜🎜🎜Considérons un site Web de commerce électronique sur lequel vous devez calculer l'intersection de tous les articles dans le panier d'un utilisateur pour déterminer les articles achetés ensemble. Vous pouvez le faire facilement en utilisant une fonction lambda : 🎜rrreee🎜Sortie : 🎜rrreee
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!