Так, например, у меня есть статическая переменная внутри рекурсивной функции, и я хочу, чтобы эта переменная была статической при каждом вызове рекурсии, но после завершения рекурсии я хочу, чтобы эта переменная была сброшена, чтобыв следующий раз, когда я использую рекурсивную функцию, она начинается с нуля.
Например, у нас есть функция:
<?php
function someFunction() {
static $variable = null;
do stuff; change value of $variable; do stuff;
someFunction(); # The value of $variable persists through the recursion.
return ($variable);
}
?>
Мы можем вызвать функцию в первый раз, как это: someFunction();
и это будет работать нормально.Затем мы вызываем его снова: someFunction();
, но на этот раз он начинается с предыдущего значения для $variable
.Как мы можем сбросить его после рекурсии первого раза, когда мы вызвали функцию, чтобы во второй раз, когда мы ее вызвали, это было похоже на начало заново?