Code Fix

中級 › staticプロパティを self:: なしで参照すると別の変数として扱われる › パターン4

staticプロパティを self:: なしで参照すると別の変数として扱われる

クラス内からstaticプロパティにアクセスするには self::$prop のように書く必要があります。

 1  <?php
 2  class Tally {
 3      public static int $n = 0;
 4      public function inc() {
 5          _________++;
                ^
 6      }
 7  }
 8  $t = new Tally();
 9  $t->inc();
10  $t->inc();
11  echo Tally::$n;
出力: Warning: Undefined variable $n in main.php on line 5 Warning: Undefined variable $n in main.php on line 5 0期待: 2 (Warningが出るだけで実行は止まりません)

空欄を埋めて実行を通す

広告
広告スロット(未設定)

staticプロパティを self:: なしで参照すると別の変数として扱われる

$propとだけ書くと、staticプロパティとは無関係のローカル変数として扱われ、Warningが出ます。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)