2011-11-10 47 views
0

我是相當新的PHP和我試圖從一個類的函數返回一個數組,然後訪問像這樣的價值觀:返回數組和訪問值

<?php 
    class Foo 
     { 
      private $access; 

      public function setAccess($access) 
      { 
       $this->access = $access; 
      } 


      public function getAccess() 
      { 
       return $this->access; 
      } 
     } 


$var = new Foo(); 
$var->setAccess(array(1,2,3,4)); 

$var2 = $var->getAccess()[2]; 

echo $var2; 

?> 

當我嘗試運行具有網頁此代碼,我得到以下內容:

Parse error: syntax error, unexpected '[' in arraytest.php on line 22 

如何在我的類中訪問我的私有數組的值?

回答

1

你不能直接調用數組值這樣的,你必須這樣寫:或者

$access = $var->getAccess(); 
$var2 = $access[2]; 

,您可以添加像這樣的功能給你的班級。

public function getAccessValue($key) { 
    return $this->access[$key]; 
} 
+0

啊,我最初寫了一個這樣的函數,但我希望有一個更好的方法。我只是將數組存儲到一個變量中,然後解除引用,謝謝。 – Sandoichi

2

此:

$var2 = $var->getAccess()[2]; 

不能在PHP中完成5.4版本之前(這種功能被稱爲數組語法)。此刻的你必須做這樣的事情:

$var2 = $var->getAccess(); 
$var2 = $var2[2]; 
+0

感謝您讓我知道PHP版本和名稱(數組解引用)。我很難找到相關的問題。 – Sandoichi