使用默认数组初始化php类

时间:2013-08-02 07:42:28

标签: php arrays class

这是我的PHP代码:

$settings = array(
    'width'         => 500,
    'height'        => 300
);
$mygrid->init($settings);

班级代码:

class mygrid
{
    function __construct($settings)
    {
       $default_settings = array(
        'width'         => 500,
        'height'        => 300
       )
    }

}

我想合并两个数组,以便回退到默认值,例如。在创建仅设置宽度的实例时:

$settings = array('width' => 800);
$mygrid->init($settings);

该类应使用默认高度300

感谢

1 个答案:

答案 0 :(得分:3)

你看看array_merge()吗?

function init($settings) {
    $defaults = aray('width' => 250, 'height' => 300, 'color' => 'black');
    $this->settings = array_merge($defaults, $settings);

}

以您的示例为例,结果为:

$this->settings = array('width' => 300, 'height' => 500, 'color' => 'black');

$settings参数中传递的每个密钥都将覆盖$defaults中的等效项。