Хорошо, у меня возникли проблемы с ключевым словом static
в соответствии с w3wchools.com ниже
Обычно, когда функция завершается / выполняется, все ее переменные удаляются. Однако иногда мы хотим, чтобы локальная переменная НЕ удалялась. Нам это нужно для дальнейшей работы.
Чтобы сделать это, используйте ключевое слово static при первом объявлении переменной:
//w3school code below
function myTest() {
static $x = 0;
echo $x;
$x++;
myTest();
myTest();
myTest();
}
теперь, что это будет делать, в основном считать 0,1,2 с помощью инкрементного оператора ++. хорошо, что делает то, что там есть определение статического
теперь, если я делаю то же самое в основном другим способом с моим кодом ниже … $ x не увеличивает его, он просто остается на 0.
//my code version below
function myTest() {
static $x = 0;
echo $x;
$x + 1;
myTest();
myTest();
myTest();
}
они в основном делают то же самое в теории
Версия w3schools увеличивает $ x на 1 с оператором ++. инкремент означает добавить
моя версия добавляет 1 с + оператором … и добавить средства, чтобы добавить также
так что можно с уверенностью сказать, что static работает только для инкрементных операторов
вместо основных математических операторов?
Это не имеет ничего общего с static
ключевое слово. Код $x+1
не меняет значение $x
вообще, так что никогда не увеличивается. $x+=1
или же $x = $x + 1
будет иметь эффект, который вы хотели.
Других решений пока нет …