У меня есть кусок кода, который выглядит, как это на данный момент:Разница между Еогеаспом (если()), и если (Еогеасп())
foreach ($array['subarray'] as $current) {
if ($some_variable === 'some_string') {
$new_array[] = $current['some_name'];
} else {
$new_array[] = $current['another_name'];
}
}
Тот же самый код также может быть записан следующим образом:
if ($some_variable === 'some_string') {
foreach ($array['subarray'] as $current) {
$new_array[] = $current['some_name'];
}
} else {
foreach ($array['subarray'] as $current) {
$new_array[] = $current['another_name'];
}
}
Мой вопрос: есть ли реальная разница между ними или это просто до предпочтения? Я в основном говорю о производительности здесь, но также, если есть некоторый стандарт того, как вложенность обычно выполняется в PHP.
только в первом варианте 1 'foreach' во втором 2' foreach' и для каждой зарезервированной памяти 'foreach'. – Naumov
Производительность мудрая, вторая лучше (подумал, зависит ли это заметное различие от других факторов). Это связано с тем, что в первом случае вы выполняете условие на каждой итерации вместо массива, а не один раз. –
Почему бы не использовать функцию для этих двух циклов во втором примере? –