Ich habe ein Stück Code, das im Moment wie folgt aussieht:Unterschied zwischen foreach (if()) und if (foreach())
foreach ($array['subarray'] as $current) {
if ($some_variable === 'some_string') {
$new_array[] = $current['some_name'];
} else {
$new_array[] = $current['another_name'];
}
}
Der gleiche Code auch so geschrieben werden:
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'];
}
}
Meine Frage ist; Gibt es einen wirklichen Unterschied zwischen den beiden oder liegt es nur an der Vorliebe? Ich spreche hier hauptsächlich über Leistung, aber auch, wenn es einen Standard gibt, wie das Verschachteln normalerweise in PHP durchgeführt wird.
nur in der ersten Variante 1 'foreach' in der zweiten 2' foreach' und für jeden 'foreach' zugeordneten Speicher. – Naumov
Leistungsmäßig ist das zweite besser (ob es sich um einen wahrnehmbaren Unterschied handelt, hängt von anderen Faktoren ab). Dies liegt daran, dass in der ersten die Bedingung bei jeder Iteration anstelle des Arrays und nicht nur einmal ausgeführt wird. –
Warum verwenden Sie im zweiten Beispiel keine Funktion für diese beiden Schleifen? –