исключая тот случай, когда функции определяются условно
if($arResult["GRID"]["ROWS"])
{
...
function getIDofSection($arrWithProperty) {}
}
В документации приведены примеры, упомянутые в вашей цитате. И там есть вот такие слова:
echo "Я не существую до тех пор, пока выполнение программы меня не достигнет.\n";
Это значит, что функция, объявленная внутри условия, не создастся до тех пор, пока интерпретатор до неё не дойдёт, и использовать её выше до объявления, даже внутри этого самого условия, нельзя.