Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
<?php
function nextId()
{
static $id = 0;
$id++;
return $id;
}
echo nextId(), nextId(), nextId(), "\n";123
- Ждать
111, будто$idначинается с0при каждом вызове:staticзадаёт значение один раз, и следующий вызов видит то, что оставил предыдущий. - Считать
static-переменную видимой снаружи функции: она хранит значение между вызовами, но остаётся локальной дляnextId.
- Что выведет программа, если убрать
staticв строке 5? - Почему счётчик на
staticтрудно сбросить между двумя тестами?