<html><body>
<?php
function selfcount() {
static $count = 0;
$count++;
echo $count;
}
for($i=0; $i<5; $i++)
selfcount();
?>
</body></html>
Почему со словом static в результате получается 12345, а без этого слова 11111?
Спустя 4 минуты, 59 секунд (31.03.2012 - 18:13) dadli написал(а):
если переменная не обявлен как статически, то он удаляется после завершении работи функции
Спустя 49 секунд (31.03.2012 - 18:14) Oyeme написал(а):
Статическая переменная сохраняет значение внутри функции.
http://php.net/manual/en/language.variables.scope.php
http://php.net/manual/en/language.variables.scope.php
Спустя 5 минут, 11 секунд (31.03.2012 - 18:19) Лена написал(а):
Статическая переменная не теряет свое значение, когда заканчивается работа функции. Получается своеобразный буфер, в котором накапливаются определенные данные. Если не объявлять static, у вас при каждом новом вызове функции значение переменной будет сбрасываться на нуль, потому что $count = 0