为了账号安全,请及时绑定邮箱和手机立即绑定

动态检查多个以数字结尾的相同命名变量

动态检查多个以数字结尾的相同命名变量

PHP
qq_花开花谢_0 2021-12-24 09:42:31
我有大约 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"


查看完整回答
反对 回复 2021-12-24
  • 1 回答
  • 0 关注
  • 137 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号