[英]php constant in oops being changed by the class object
今天,我在讀常量,並被一段代碼弄糊塗了,無法找出原因,代碼如下:
<?php
class myClass1
{
const ID=1;
private $name;
public function get_name()
{
return $this->name ."<br>";
}
public function set_name($setName)
{
$this->name=$setName;
}
}
$myClass1_object = new myClass1();
$myClass1_object->ID=2;
print("<br>".$myClass1_object->ID);
?>
我想知道為什么類對象(即$ myClass1_object-> ID = 2)如何更改常量變量(即const ID = 1); 在打印語句中,我得到更新的值,即2。
如果您嘗試訪問未定義的對象屬性,PHP會為您創建它:
$obj = new stdClass();
$obj->hello = 'world';
因此,當您嘗試以這種方式訪問常量時,您僅創建了另一個字段ID。 嘗試在腳本末尾輸出常量值:
echo myClass1::ID;
仍然應該是1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.