gpt4 book ai didi

PHP 将数组传递给函数 - 如果未设置则保持默认值

转载 作者:行者123 更新时间:2023-12-04 16:44:53 24 4
gpt4 key购买 nike

我有一个函数,它采用“选项”参数数组来设置查询数据库的标志。看起来像这样

function c_SQL($SQL='', $FIELDS=array(), $OPTIONS=array('SINGLEROW'=>false,'foo'=>false,'bar'=>false)) {

}

如果我没有在我的函数调用中设置它们,我将尝试维护默认数组键:

$test = c_SQL($query,$fields,array('SINGLEROW'=>true));

当我们对未指定的数组键(foo 和 bar)进行检查时,这会在 c_SQL 函数内部产生一个错误。

有没有办法在未指定的情况下维护“foo”和“bar”,并且仅在传递给函数时才更改键?

最佳答案

您可以在函数内部使用 array_merge 与函数内部定义的默认数组合并。

function c_SQL($SQL = '', $FIELDS=array(), $OPTIONS = array()) {
$defaults = array(
'SINGLEROW' => false,
'foo' => false,
'bar' => false
);
$OPTIONS = array_merge($defaults, $OPTIONS);
return $OPTIONS;
}

# array ( 'SINGLEROW' => false, 'foo' => false, 'bar' => false, )
var_export(c_SQL());

# array ( 'SINGLEROW' => true, 'foo' => false, 'bar' => false, )
var_export(c_SQL(array('SINGLEROW' => true)));

关于PHP 将数组传递给函数 - 如果未设置则保持默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30245573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com