На этом шаге мы рассмотрим область видимости переменных.
При активной работе с пользовательскими функциями вы обязательно столкнетесь с проблемой области видимости переменных. Что это такое, лучше пояснить на примере:
<?php function inc() { $num++; } $num = 1; inc(); // вызываем функцию echo $num; // выведет 1 ?>
Результатом выполнения этой программы будет вывод числа 1. Другими словами, расположенные в теле функции и в основной программе переменные совершенно не связаны друг с другом, хотя имеют одинаковые имена. В этом случае говорят, что переменная, находящаяся внутри тела функции, имеет локальную область видимости, а переменная, которая располагается в основной программе, - глобальную. Локальные переменные объявляются внутри тела функции и недоступны извне. Глобальные переменные могут объявляться как в основной программе, так и в теле функции, но делается это с помощью специального оператора global. Например:
<?php function inc() { global $num; $num++; } $num = 1; inc(); // вызываем функцию echo $num; // выведет 2 ?>
В этом случае выводится число 2, так как переменная $num в теле функции имеет глобальную область видимости.
На следующем шаге мы рассмотрим время жизни переменных.