PHP Что такое статическое ключевое слово - PullRequest
0 голосов
/ 29 июня 2019

Что такое статическое ключевое слово в функции?

w3school

Обычно, когда функция завершается / выполняется, все ее переменные удаляются.Однако иногда мы хотим, чтобы локальная переменная НЕ удалялась.Нам это нужно для дальнейшей работы.

Я не понимаю, может кто-нибудь показать мне какой-нибудь код, чтобы понять это?

1 Ответ

2 голосов
/ 29 июня 2019

static имеет два различных применения:

1.Для классов:

Сделать метод или свойство доступными без необходимости создания экземпляра класса.

<?php
class Foo {
    public static function aStaticMethod() {
        // ...
    }
}

Foo::aStaticMethod(); 

2.Для функций:

Статическая переменная существует только в локальной области функций, но не теряет своего значения, когда выполнение программы выходит из этой области.

<?php
function test()
{
    static $a = 0;
    echo $a;
    $a++;
}
test(); // 0
test(); // 1
test(); // 2

Безstatic:

<?php
function test()
{
    $a = 0;
    echo $a;
    $a++;
}
test(); // 0
test(); // 0
test(); // 0

Рекомендуется использовать его, когда вы можете, вместо того, чтобы заполнять глобальную область с мусором.

...