Heim > Artikel > Backend-Entwicklung > Elegante Möglichkeit, Array-Schnittpunkt und -Vereinigung mithilfe der Lambda-Funktion in PHP zu berechnen
In PHP können Lambda-Funktionen als elegante Möglichkeit zum Umgang mit Schnittmengen und Vereinigungen von Arrays verwendet werden. Verwenden Sie für Schnittmengen die Funktion array_filter() mit der Funktion lambda, um Elemente zu filtern, um festzustellen, ob sie in einem anderen Array vorhanden sind. Verwenden Sie für Vereinigungen die Funktion array_reduce() mit der Funktion lambda, um eindeutige Elemente zwischen Arrays zusammenzuführen. Diese Methoden vereinfachen Berechnungen und verbessern die Flexibilität und Lesbarkeit des Codes.
Elegante Möglichkeit, Schnittmenge und Vereinigung von Arrays mithilfe der Lambda-Funktion in PHP zu berechnen
Die Lambda-Funktion in PHP, auch anonyme Funktionen genannt, bietet eine einfache Möglichkeit, Arrays zu verarbeiten und umzuwandeln. Indem wir uns ihre Einfachheit zunutze machen, können wir komplexere Array-Operationen mit weniger Code implementieren.
Array-Schnittpunkt berechnen
Array-Schnittpunkt ist die Menge von Elementen, die gleichzeitig in zwei oder mehr Arrays vorhanden sind. Wir können den Schnittpunkt mithilfe der Funktion array_intersect()
berechnen, dies kann jedoch eleganter mithilfe einer Lambda-Funktion erfolgen. 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); ?>Ausgabe:
Array ( [0] => 3 [1] => 4 [2] => 5 [3] => 6 [4] => 7 [5] => 1 [6] => 2 )
Array-Vereinigung berechnen
Eine Array-Vereinigung ist die Menge aller Elemente in zwei oder mehr Arrays. Wir können die Vereinigung mit der Funktionarray_merge()
berechnen, aber die Lambda-Funktion bietet einen flexibleren Ansatz. <?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 . " "; } ?>Ausgabe:
3 4 5🎜Praktischer Fall🎜🎜🎜Stellen Sie sich eine E-Commerce-Website vor, auf der Sie die Schnittmenge aller Artikel im Warenkorb eines Benutzers berechnen müssen, um die Artikel zu ermitteln, die häufig gekauft werden. Sie können dies ganz einfach mit einer Lambda-Funktion tun: 🎜rrreee🎜Ausgabe: 🎜rrreee
Das obige ist der detaillierte Inhalt vonElegante Möglichkeit, Array-Schnittpunkt und -Vereinigung mithilfe der Lambda-Funktion in PHP zu berechnen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!