返回数组和访问值


Returning arrays and accessing values

我是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

我如何在我的类中访问我的私有数组的值?

This:

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

不能在5.4版本之前的PHP中完成(该特性称为数组解引用)。现在你必须这样做:

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

你不能像那样直接调用数组值,你必须这样写:

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

或者,您可以在类中添加这样的函数。

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