【发布时间】:2016-11-01 18:27:24
【问题描述】:
我有一个具有特定属性的类,我需要在没有和使用类实例化的情况下访问它。
在阅读了互联网之后,我觉得自己很聪明,并将其声明为公共静态,瞧,我能够使用 :: 访问该值,而无需实际创建该类的对象。
现在,几个小时后我需要访问相同的值,但这次是在循环一个包含该类的实际实例的数组的过程中,我无法访问它......
请指教
Class Omega{
public static $value = 500;
}
$name = "Omega";
$prop = "value";
$cost = $name::$$prop // 500 yay it works
$omega = new Omega();
$ships[] = $omega;
$totalCost = 0;
for ($i = 0; $i < sizeof($ships); $i++){
$totalCost = $totalCost + $ships[i$]->value; // UGH
}
我收到以下通知:
注意:在第 44 行的 C:\xampp\htdocs\fire\test.php 中将静态属性 Omega::$value 作为非静态访问
和
注意:未定义的属性:C:\xampp\htdocs\fire\test.php 第 44 行中的 Omega::$value
【问题讨论】:
标签: php oop properties