ホームページ > バックエンド開発 > PHPの問題 > PHPの静的変数の役割は何ですか?

PHPの静的変数の役割は何ですか?

青灯夜游
リリース: 2023-02-27 10:16:01
オリジナル
3371 人が閲覧しました

PHPの静的変数の役割は何ですか?

静的変数とは何ですか?

静的変数 型指定子は静的です。

静的変数は静的記憶方式に属し、その記憶領域はメモリ内の静的データ領域です (記憶ユニットは静的記憶領域に割り当てられます)。この領域のデータは、システム全体にわたってこれらの記憶領域を占有します。 (プログラムの実行中は解放されません)、プログラム全体が終了するまでメモリアドレスは変化しないと考えることもできます。

静的変数はプログラムの実行中常に存在しますが、その範囲外で使用することはできません。

キーワード static が変数の前に追加されている限り、変数は静的変数になります。

php 静的変数の役割

1. 関数内の変数を変更します。静的変数は、関数が呼び出されている間、その値を維持します。

<?php
function testStatic() {
    static $val = 1;
    echo $val."<br />";;
    $val++;
}
testStatic();   //output 1
testStatic();   //output 2
testStatic();   //output 3
?>
ログイン後にコピー

プログラム実行結果:

1
2
3
ログイン後にコピー

2. クラス内の属性またはメソッドを変更します。

変更された属性またはメソッドには、クラス名を使用してアクセスできます。変更された属性がクラス属性の場合、値は保持されます。

<?php
class Person {
    static $id = 0;
 
    function __construct() {
        self::$id++;
    }
 
    static function getId() {
        return self::$id;
    }
}
echo Person::$id;   //output 0
echo "<br/>";
 
$p1=new Person();
$p2=new Person();
$p3=new Person();
 
echo Person::$id;   //output 3
?>
ログイン後にコピー

プログラムの実行結果:

0
3
ログイン後にコピー

3. クラス内で、メソッド内の変数を変更します。

<?php
class Person {
    static function tellAge() {
        static $age = 0;
        $age++;
        echo "The age is: $age
";
    }
}
echo Person::tellAge(); //output &#39;The age is: 1&#39;
echo Person::tellAge(); //output &#39;The age is: 2&#39;
echo Person::tellAge(); //output &#39;The age is: 3&#39;
echo Person::tellAge(); //output &#39;The age is: 4&#39;
?>
ログイン後にコピー

プログラムの実行結果:

The age is: 1 The age is: 2 The age is: 3 The age is: 4
ログイン後にコピー

PHP 関連の詳細については、php中文网 をご覧ください。

以上がPHPの静的変数の役割は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート