2010-03-05 143 views
0
<?php 
class obj { 
    var $primary_key; 

    function obj($key = null){ 
     if(isset($key)){ 
      $this->primary_key = $key; 
     } 
     echo "primary_key: ".$this->primary_key."<br/>"; 

     $this->obj_id = 14; 


     echo "obj_id: ".$this->obj_id."<br/>"; 

     $key = $this->primary_key; 

     echo "obj_id from primary_key string: ".$this->$key."<br/>"; 
    } 
} 
?> 

有沒有辦法獲得$this->primary_key值? 贊$this->$this->primary_key得到變量值


<?php 
class obj { 
    var $primary_key; 

    function obj($key = null){ 
     if(isset($key)){ 
      $this->primary_key = $key; 
     } 
     echo "primary_key: ".$this->primary_key."<br/>"; 

     $this->obj_id = 14; 


     echo "obj_id: ".$this->obj_id."<br/>"; 

     $key = $this->primary_key; 

     echo "obj_id from primary_key string: ".$this->$key."<br/>"; 
    } 
} 
?> 

$aaa = new obj("obj_id"); 

我想這 - $> obj_id值,但我不whant使用變量$關鍵。 這一行$ this-> obj_id = 14;將是動態的,我我就不會能知道,如果 $這個 - > obj_id將被命名爲obj_id或別的東西,像$這個 - >香蕉,它將在新的OBJ(「香蕉」)

+0

是什麼語言這個? – 2010-03-05 18:26:33

+0

如果指出語言,很好用 – 2010-03-05 18:27:52

+0

您是否願意指定這是哪種語言,以及其他任何類似於可能有助於哪種操作系統和/或實現的東西? – 2010-03-05 18:27:58

回答

0
$obj_a = new obj(5); 
echo $obj_a->primary_key;  // prints '5' 
被desided
1

那麼爲了使這種功能,即使有什麼用處,你需要創建一個新的類,並將其設置爲可變的,比如這個:

$myclass = new obj(1); 

雖然構造的這種形式是隻支持向後兼容(不建議使用,現在應該使用__construct),它仍然應該運行並設置所有變量,這些變量可以在以下w中檢索AY:

echo $myclass->primary_key; // the primary_key value 
echo $myclass->obj_id; // the obj_id value 

編輯:另外這條線需要加以糾正,以改變「$鍵」至近終點「primary_key」。放置'$ key'不會返回任何內容,因爲它會發送不存在的'$ this-> 1'。

echo "obj_id from primary_key string: ".$this->primary_key."<br/>"; 
0

在你的最後一行:

echo "obj_id from primary_key string: ".$key."<br/>"; 

或:

echo "obj_id from primary_key string: ".$this->$primary_key."<br/>"; 

說真的,我還是不明白這個代碼的工具...