Korzystanie z wywołania funkcji w pętli foreach

Czy są jakieś problemy, jeśli chodzi o wydajność, do korzystania z wywołania funkcji w pętli foreach. Na przykład:

foreach ($this->getValues() as $value) {
  //Do something with $value
}

przeciw

$values = $this->getValues();
foreach ($values as $value) {
  //Do something with $value
}

Zasadniczo jest wystarczająco sprytny, aby wywołać $ this-> getValues ​​() tylko raz w pierwszym przykładzie, czy też wywołuje go przy każdej iteracji. Jeśli wywołuje ją przy każdej iteracji, to jak śledzi, który element jest aktualnie w niej,

questionAnswers(2)

yourAnswerToTheQuestion