Подскажите, пожалуйста, для чего в начале функции переменной $result задается значение false? Без этой строки код точно так же работает.
Думаю, это для того сделано, что переменная result объявлена вне вункции и может содержать значения других подобных функций... хоть она и перезаписывается, но мало ли...