我有大约 15 个具有相同名称和数字的变量。例如$Something1 $Something2 $Something3…………在我使用它们之前,我必须检查它们是否存在null。我为此写了一些for循环。但这并不是很好的解决方案。有难闻的气味。for ($Something = 1; $Something < 16; $Something++){ $SomethingNu = 'Something'.$Something; if($$SomethingNu === null){ $$SomethingNu = 'some default value'; }}我可以做这样的事情。但是,它也有难闻的气味。if($Something1 === null){ $Something1 = 'some default value';}if($Something2 === null){ $Something2 = 'some default value';}if($Something3 === null){ $Something3 = 'some default value';}.....如果some default value在此特定示例中它们为 null ,则它们将具有相同的默认值。我的问题是:这样做的最佳解决方案是什么?
1 回答

子衿沉夜
TA贡献1828条经验 获得超3个赞
您可以创建一个可变参数函数,为您抛出的任意数量的变量设置默认值:
<?php
function var_checker(&...$vars) {
foreach ($vars as $var_keys => &$var_var) {
if ($var_var == NULL) {
$var_var = "some default value";
}
}
}
$foobar = "something";
$foobar2 = NULL;
var_checker($foobar, $foobar2);
var_dump($foobar);
var_dump($foobar2);
输出:
string(9) "something"
string(18) "some default value"
- 1 回答
- 0 关注
- 137 浏览
添加回答
举报
0/150
提交
取消