Іншою важливою властивістю області видимості змінних є можливість визначення статичних (static) змінних. Статичні змінні можна визначати тільки всередині функцій, але вони не втратять свого значення після завершення функції. Розглянемо приклад:
Ця функція марна як лічильник. При кожному виклику змінна $ a буде встановлена в 0 і виведена на друк. $ A ++ збільшить змінну а на 1, але значення змінної $ a буде втрачено після виходу з функції. Треба оголосити змінну $ a як статичну для того, щоб вона виконувала роль лічильника і її значення не втрачалося після завершення функції:
Тепер при кожному виклику функції test () - вона буде виводити на друк значення змінної $ a і збільшувати його на 1.
Статичні змінні поводяться точно так же при рекурсивном виклик функцій. Функція називається рекурсивної, якщо вона викликає саму себе. Ви повинні бути дуже обережні при написанні рекурсивних функцій, оскільки можна отримати нескінченну рекурсію при неправильному підході. Ви повинні бути впевнені в тому, що ваша рекурсія буде перервана в будь-який момент. Наступний приклад демонструє рекурсивний лічильник до 10, використовуючи статичну змінну $ count для того, щоб перервати рекурсию.
Додаткова інформація по темі
У статті розповідається, що таке VPN і основні можливості використання з'єднання
Що означає поняття спам і як його відрізнити від звичайної або випадкової розсилки електронних повідомлень
У статті розкривається поняття самоврядування, які переваги це дає окремим членам і колективу в загальному
Лінгвістичні здібності допомагають непогано заробляти віддалено за допомогою інтернету, як це робиться докладно в статті