Archiwum

Posty oznaczone ‘funkcja’

If…else czy return?

15 marca 2010 2 komentarze(y)

Trudno wymyślić sensowny tytuł dla zagadnienia które chcę opisać. Zawsze zastanawiało mnie czy pisząc w PHP funkcję która początkowo przeprowadza walidację przekazanych argumentów, stosować konstrukcję typu:

function nazwa($argument)
{
  if (warunek)
  {
    return FALSE;
  }
  ... ciało funkcji
}

…czy też:

function nazwa($argument)
{
  if (warunek)
  {
    return FALSE;
  }
  else
  {
    ... ciało funkcji
  }
}

Intuicyjnie może się wydawać że pierwszy metoda będzie działać szybciej, gdyż po spełnieniu warunku wychodzimy od razu z funkcji – parser nie musi przetwarzać reszty kodu. Z kolei w drugiej, mimo iż to co znajduje się w bloku else się nie wykona i tak musi zostać przeczytane przez PHP. Jak jest w rzeczywistości? Sprawdźmy to!

Czytaj więcej…