Функция объявлена будет, но она не будет известна за пределами блока if { }. Но можно сделать несколько иначе:
$needfunction = false;
$function = null;
if ($needfunction) {
$function = function () {
echo "Hello world!";
};
}
if($function) {
$function();
}