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!