我们大多数人都知道以下语法:
function funcName($param='value'){
echo $param;
}
funcName();
Result: "value"
Run Code Online (Sandbox Code Playgroud)
我们想知道如何为'not last'参数传递默认值?我知道这个术语很遥远,但一个简单的例子是:
function funcName($param1='value1',$param2='value2'){
echo $param1."\n";
echo $param2."\n";
}
Run Code Online (Sandbox Code Playgroud)
我们如何完成以下任务:
funcName(---default value of param1---,'non default');
Result:
value1
not default
Run Code Online (Sandbox Code Playgroud)
希望这是有道理的,我们希望基本上假设不是最后的参数的默认值.
谢谢.
在PHP 4/5中是否可以在调用时指定一个命名的可选参数,跳过你不想指定的参数(比如在python中)?
就像是:
function foo($a,$b='', $c='') {
// whatever
}
foo("hello", $c="bar"); // we want $b as the default, but specify $c
Run Code Online (Sandbox Code Playgroud)
谢谢
在PHP中,您可以调用函数.通过使用这些语句不调用所有参数.
function test($t1 ='test1',$t2 ='test2',$t3 ='test3')
{
echo "$t1, $t2, $t3";
}
Run Code Online (Sandbox Code Playgroud)
你可以使用这样的功能
test();
Run Code Online (Sandbox Code Playgroud)
所以我只想说我希望最后一个是不同的而不是其他的.我能做到的唯一方法是做到这一点,但没有成功:
test('test1','test2','hi i am different');
Run Code Online (Sandbox Code Playgroud)
我试过这个:
test(,,'hi i am different');
test(default,default,'hi i am different');
Run Code Online (Sandbox Code Playgroud)
做这样的事情的最佳方法是什么?
如何在 PHP 7+ 中实现命名参数功能?
理想的语法是:
find($wildcard, relative = true, listIfEmpty = false) {
...
}
Run Code Online (Sandbox Code Playgroud)
但是没有这样的解决方案。在答案中,我实现了最短的解决方案,支持:
有关更多信息和实施,请参阅答案