在类上设置私有变量

时间:2016-01-20 00:41:19

标签: php

我正在尝试在我的类上设置一个私有变量数组。但是我收到了一个错误。这甚至可能吗?换句话说,我可以用键定义变量 - 或者这是不好的做法吗?

class SomeClass
{
    private $result['results'] = array();

    ....

错误:Parse error: syntax error, unexpected '[', expecting ',' or ';'

2 个答案:

答案 0 :(得分:3)

我认为这是可能的,但不是你做的方式。 试试

private $result = array();

然后,你可以创建一个函数来推送数组中的东西,比如

public function __set($key, $value){ $this->result[$key] = $value; }

然后,将你想要的内容推送到调用你的函数的数组中

__set('private','this is my private array');

答案 1 :(得分:2)

如果您想稍后访问该属性'results'的密钥result,则应首先将其声明为:

class SomeClass
{
    private $result = array(
        'results'  => array(),
    );

   ....

虽然您也可以稍后定义属性result并添加results密钥,但如果您尝试访问'undefined index ...',则可以运行results个例外的问题在将'results'键添加到result属性之前。