PHP:在函数上传递第二个参数,但保留第一个参数的默认值[重复]

问题描述 投票:0回答:1

问题是,我有一个带有 3 个参数的函数。所有三个参数都有默认值。但是是否可以仅使用一个参数来调用该函数,如下所示:

function check($a=1, $b=2, $c=3){
   echo 'a : ' . $a;
   echo 'b : ' . $b;
   echo 'c : ' . $c;
}

$res = check($c=5);

并期望以下结果:

a : 1
b : 2
c : 5

我尝试过使用这种代码,但发生的情况是

$c=5
被传递给第一个参数。在这种情况下
$a

php laravel
1个回答
3
投票

不,你不能用这种方式做到这一点。 PHP 期望值按照您在函数中定义的顺序排列。 但是,可以将数据作为数组传递给您的函数。

$res = check(array('a' => $defaulta, ..., 'c' => 5))

您的默认值位于 $defaulta/b/c 之类的地方。或者只是将它们写成硬编码。

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.