这是我的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
感谢
答案 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
中的等效项。