Gdy chcesz sprawdzić/mieć kombinacje elementów tablicy, jak możesz uniknąć foreach zagnieżdżania?: unikanie wielokrotnego zagnieżdżonego foreach
Przykładowy kod:
$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
}
}
}
Każdy z alternatywnych metod, które mogą uniknąć zagnieżdżania?
Dlaczego chcesz uniknąć zagnieżdżenia? To, co masz, jest już najbardziej intuicyjnym rozwiązaniem większości problemów. –
Aby wyjaśnić: Chciałbym uniknąć zagnieżdżenia, ponieważ często wydaje się, że naprawdę trudno jest wyświetlać dobrze zakodowane lub czyste. Wiem, że to nie jest powód, żeby się poddawać, ale jeśli jest jakaś alternatywna alternatywa, chciałbym o tym usłyszeć. – koen
Można użyć rekurencji zamiast iteracji. Spowoduje to przeniesienie zagnieżdżenia z kodu do modelu obiektu. (Trudno być dokładniejszym, ponieważ twój przykład jest tak wymyślony.) – bzlm