Так, например, у меня есть статическая переменная внутри рекурсивной функции, и я хочу, чтобы эта переменная была статической при каждом вызове рекурсии, но после завершения рекурсии я хочу, чтобы эта переменная была сброшена, чтобы в следующий раз я используйте рекурсивную функцию, которая запускается с нуля.
Например, у нас есть функция:
<?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
. Как мы можем сбросить его после рекурсии в первый раз, когда мы вызвали функцию, чтобы во второй раз это было похоже на запуск заново?