我正在尝试在我的类上设置一个私有变量数组。但是我收到了一个错误。这甚至可能吗?换句话说,我可以用键定义变量 - 或者这是不好的做法吗?
class SomeClass
{
private $result['results'] = array();
....
错误:Parse error: syntax error, unexpected '[', expecting ',' or ';'
答案 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
属性之前。