2013-08-02 127 views
0

这里是我的PHP代码:初始化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个

感谢

+2

这个问题目前还不清楚。请编辑上面的文本并添加更多详细信息,尤其是您想要执行的操作。 “取决于哪些变量被传递”是什么意思? – arkascha

回答

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通过每个键。