Funktionsaufruf in foreach-Schleife verwenden
Gibt es hinsichtlich der Effizienz Probleme bei der Verwendung eines Funktionsaufrufs in einer foreach-Schleife? Zum Beispiel:
foreach ($this->getValues() as $value) {
//Do something with $value
}
gegen
$values = $this->getValues();
foreach ($values as $value) {
//Do something with $value
}
Grundsätzlich ist PHP clever genug, um $ this-> getValues () nur einmal im ersten Beispiel aufzurufen, oder ruft es es bei jeder Iteration auf. Wenn es es bei jeder Iteration aufruft, wie verfolgt es dann, bei welchem Element es sich gerade befindet?