Что такое static переменная внутри функции?

Ответ

Статическая переменная инициализируется один раз и сохраняет значение между вызовами функции:

function counter(): int {
    static $count = 0;
    return ++$count;
}

echo counter(); // 1
echo counter(); // 2
echo counter(); // 3

Инициализатор выполняется только при первом вызове. Значение сохраняется до конца запроса (не между запросами). В PHP 8.1+ инициализатор может содержать new выражения.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.