Code Fix

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

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

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

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

空欄を埋めて実行を通す

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

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

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

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

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