Lorsque vous devez vérifier/avoir des combinaisons d'éléments de tableau, comment pouvez-vous éviter d'imbriquer foreach?combinaisons: éviter plusieurs foreach imbriquées
code Exemple:
$as = array($optionA1, $optionA2)
$bs = array($optionB1, $optionB2)
$cs = array($optionC1, $optionC2)
foreach ($as as $a) {
foreach ($bs as $b) {
foreach ($cs as $c) {
$result = $this->method($a, $b, $c);
if ($result) etc
}
}
}
Toute personne ayant des approches alternatives permettant d'éviter la nidification?
Pourquoi voulez-vous éviter l'imbrication? Ce que vous avez est déjà la solution la plus intuitive pour la plupart des problèmes. –
Pour clarifier: Je voudrais éviter l'imbrication car il semble souvent très difficile à afficher bien codé ou propre. Je sais que ce n'est pas une raison pour l'abandonner, mais s'il y a une alternative plus soignée, j'aimerais en entendre parler. – koen
Vous pouvez utiliser la récursivité au lieu de l'itération. Cela va déplacer l'imbrication de votre code dans le modèle objet. (Il est difficile d'être plus précis puisque votre exemple est si artificiel.) – bzlm