2011-11-10 50 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