在php中向数组中添加函数


add function to an array in php

我在与函数一起声明数组时遇到了麻烦。这是我的代码,我做错了什么?

private function array_list(){
    return array('1'=>'one', '2'=>'two');
}
private $arrays= array(
    'a'=>array('type'=>'1', 'list'=>$this->array_list())
);

运行此代码时出现意外T_VARIABLE错误

不能像这样声明数组的属性:

private $arrays= array(
    'a'=>array('type'=>'1', 'list'=>$this->array_list())
);

不能在属性定义中使用从类方法返回的数组。例如,您应该在构造函数中填充它。这样的:

private $arrays = array();
public function __construct() {
    $this->arrays = array(
        'a'=>array('type'=>'1', 'list'=>$this->array_list())
    ); 
}

在方法中执行,例如,构造函数:

class Foo {
    function __construct () {
        $this->arrays['list'] = $this->array_list ();
    }
}