簡體   English   中英

在PHP對象中定義變量時出錯

[英]Error defining variable in PHP object

我在以下代碼中收到以下錯誤:

Class primeField implements field {
    private $intmodulus = '';
    public function generator(){
        return ;
    }

    public function modulus(){
        return $this->$intmodulus;
    }
    public function __construct($modulus , $base=0) {
        if (is_resource($modulus) && get_resource_type($modulus) == "GMP integer"){
            $this->$intmodulus = $modulus;
        } else{
            $this->$intmodulus = gmp_init($modulus , $base); \\line 70
        }
    }
}
$a = new primeField(11);
$a->modulus();

注意:未定義的變量:第70行的/ Users / admin / PHP ECC / finitefield.php中的intmodulus致命錯誤:無法訪問第70行的/ Users / admin / PHP ECC / finitefield.php中的空屬性

為什么

語法是

$this->intmodulus 

不是$this->$intmodulus

您收到錯誤消息“無法訪問空屬性”,因為$intmodulus未定義,因此訪問它會產生NULL 當您嘗試將NULL用作屬性名稱時,NULL將轉換為空字符串。

如果$intmodulus的值是有效屬性的名稱(例如,如果$intmodulus == "intmodulus" ),則您將使用該名稱訪問該屬性。

$this->$intmodulus應該是$this->intmodulus

有關正在發生的事情的信息,請參閱變量變量的PHP文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM