エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
【PHP8.1】静的変数を継承したときの挙動が変更になる - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
【PHP8.1】静的変数を継承したときの挙動が変更になる - Qiita
class A{ public static int $hoge = 1; // 普通のクラス変数 public function foo(){ static $foo = 1;... class A{ public static int $hoge = 1; // 普通のクラス変数 public function foo(){ static $foo = 1; // ← これ return $foo++; } } $a = new A(); $a->foo(); // 1 $a->foo(); // 2 $a->foo(); // 3 関数・メソッド内でstaticを付けて変数定義すると、その変数値はプログラムが終了するまでずっと保持されます。 イメージとしては、関数ローカルのクラス変数みたいなかんじでしょうか。 そしてこの静的変数、クラス変数と並べてみると動作がほんのり微妙に異なっているんですよね。 class A { public static int $hoge = 1; public function foo() { static $foo = 1; retur