Когда вам нужно проверить/иметь комбинации элементов массива, как вы можете избежать вложенности foreach?комбинации: избегать множественных вложенных foreach
Пример кода:
$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
}
}
}
Любой с альтернативными подходами, которые могут избежать вложенности?
Почему вы хотите избежать гнездования? То, что у вас есть, является самым интуитивным решением для большинства проблем. –
Чтобы уточнить: я хотел бы избежать гнездования, потому что часто кажется, что очень сложно отображать хорошо закодированные или чистые. Я знаю, что это не повод отказаться от этого, но если есть альтернатива оплодотворения/slicker, я бы хотел услышать об этом. – koen
Вы можете использовать рекурсию вместо итерации. Это приведет к перемещению вложенности из вашего кода в объектную модель. (Трудно быть более конкретным, так как ваш пример настолько надуман.) – bzlm