php函数如何不传值?
我有一个函数test,我想在没有获取到$b的时候就不传参,请问该怎么写判断?我不能改变test的代码,所有?$b=2就不需要说了
function test($a = 1, $b = 2) {
return $a * $b;
}
$a = $_GET['a'];
$b = $_GET['b'] ?? null;
//在不改变test的情况下,我如何判断$b是否传参
return test($a);
关于 LearnKu
调用 test 之前判断一下?
反射
详情见代码,强烈推荐方案②的写法
ps:说实在,有点无法理解。按我理解,你的要求其实就是不传的时候,使用默认值2,那为啥不传$b的话,为啥不将不传$b时的默认值跟test方法的$b的默认值搞一致就好了,搞个null默认值,有点不懂。代码是给人看的,怎么简单怎么来,没必要搞那么多花里胡哨(非杠精,纯粹发表看法)
方案①
方案②
方案③
func_num_args()
升级 php8 你的问题迎刃而解。
Named Parameter这简直就是为你需求而生的
认真看了你的问题,差点给我整不会了。
没太明白,自己传没传还不知道吗