2013-04-05 8 views
0

如何使ArrayObj在不受未定義的指標,我有時需要在登錄使用不確定的指數例如PHP arrayObj不受undegined指數

$this->log['some']['other']['info']++ 

這裏是我的嘗試:

class arrayInSensitive extends \arrayObject{ 

    var $data = array(); 

    public function offsetGet($name) { 
     if(!array_key_exists($name,$this->data)) $this->data[$name]=new arrayInSensitive(); 

     return $this->data[$name]; 
    } 
    public function offsetSet($name, $value) { 
     $this->data[$name] = $value; 
    } 
    public function offsetExists($name) { 
     return (array_key_exists($name,$this->data)); 
    } 
    public function offsetUnset($name) { 
     unset($this->data[$name]); 
    } 

} 

怎麼辦它呢?

回答

0

正義的力量特定情況下,只要你引用索引值

class arrayInSensitive extends \arrayObject{ 

    var $data = array(); 

    public function offsetGet($name) { 
     if(!array_key_exists(strtolower($name),$this->data)) $this->data[strtolower($name)]=new arrayInSensitive(); 

     return $this->data[strtolower($name)]; 
    } 
    public function offsetSet($name, $value) { 
     $this->data[strtolower($name)] = $value; 
    } 
    public function offsetExists($name) { 
     return (array_key_exists(strtolower($name),$this->data)); 
    } 
    public function offsetUnset($name) { 
     unset($this->data[strtolower($name)]); 
    } 

}