我有一段代碼,看起來像這樣的時刻:差(IF()),如果(的foreach())
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中在第二個foreach中爲每個foreach分配了內存。 – Naumov
表現明智,第二個更好(認爲這是一個明顯的差異取決於其他因素)。這是因爲在第一種情況下,您在每次迭代中都會運行條件,而不是數組,而不是一次。 –
爲什麼不在第二個例子中爲這兩個循環使用一個函數? –