0

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

谢谢

4

1 回答 1

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.

于 2013-08-02T07:46:09.990 回答