Lorsque vous traitez plusieurs tableaux, il peut s'avérer nécessaire de générer un tableau contenant toutes les combinaisons possibles d'éléments de ceux-ci tableaux, tout en évitant les répétitions. Cette opération mathématique est connue sous le nom de produit cartésien.
Pour relever ce défi en PHP, pensez à utiliser la fonction suivante :
function array_cartesian() { $_ = func_get_args(); if(count($_) == 0) return array(array()); $a = array_shift($_); $c = call_user_func_array(__FUNCTION__, $_); $r = array(); foreach($a as $v) foreach($c as $p) $r[] = array_merge(array($v), $p); return $r; } $cross = array_cartesian( array('apples', 'pears', 'oranges'), array('steve', 'bob') ); print_r($cross);
Cette fonction prend des arguments de longueur variable, chacun représentant un tableau. . Il calcule de manière récursive le produit cartésien en sélectionnant un élément du premier tableau et en le combinant avec tous les produits cartésiens possibles des tableaux restants.
Le résultat est un tableau imbriqué contenant chaque combinaison unique d'éléments des tableaux d'entrée. Dans l'exemple donné, le produit cartésien de deux tableaux produira :
Array 0 Array 1 apples steve apples bob pears steve pears bob
Cette solution est non seulement efficace pour les tableaux à deux dimensions mais peut également être étendue pour gérer n'importe quel nombre de tableaux. Il fournit une manière concise et élégante de résoudre le problème du produit cartésien en PHP.
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!