[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Статическая переменная
kilogram
<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

Спустя 5 минут, 11 секунд (31.03.2012 - 18:19) Лена написал(а):
Статическая переменная не теряет свое значение, когда заканчивается работа функции. Получается своеобразный буфер, в котором накапливаются определенные данные. Если не объявлять static, у вас при каждом новом вызове функции значение переменной будет сбрасываться на нуль, потому что $count = 0
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.