调用PHP函数
我用多参数实现了php调用PHP函数,php,function,parameters,arguments,call,Php,Function,Parameters,Arguments,Call,我用多参数实现了php函数。我想调用这个函数,只设置最后一个参数。简单的方法是将其他参数设置为空。但这并不好 有没有办法通过设置最后一个参数而不设置其他参数来调用此函数 请参见此示例: function MyFunction($A, $B, $C, $D, $E, $F) { //// Do something } //// Simple way MyFunction("", "", "", "", "", "Value"); //// My example MyFunction(a
函数
。我想调用这个函数
,只设置最后一个参数。简单的方法是将其他参数设置为空。但这并不好
有没有办法通过设置最后一个参数而不设置其他参数来调用此函数
请参见此示例:
function MyFunction($A, $B, $C, $D, $E, $F)
{
//// Do something
}
//// Simple way
MyFunction("", "", "", "", "", "Value");
//// My example
MyFunction(argument6: "Value")
我的建议是使用数组而不是使用参数数,例如,您的函数调用应该是这样的
$params[6] = 'value';
MyFunction($params);
用于识别已设置的第六个参数
function MyFunction($params){
If ( isset($params[6]) ) // parameter six has value
}
我希望这将是另一种方式在这个问题的背景下,这是可行的。 您可以将每个数组键用作变量,如$a、$B、。。。 但您必须小心,不要使用以前设置的旧值发布$args
<?php
$args = array('A'=>'', 'B'=>'', 'C'=>'', 'D'=>'', 'E'=>'', 'F'=>'');
function MyFunction($args)
{
foreach($args as $key => $value)
$$key = $value;
echo $F;
//// Do something
}
$args['F'] = 'Value';
Myfunction($args);
使用数组作为参数,并在函数定义中使用类型提示和空数组作为默认值。在函数内提供默认值,并用用户值覆盖它们
function MyFunction(array $args = []) {
// Provide default values
$defaults = [
'A' => 0,
'B' => 0,
'C' => 0,
'D' => 0,
'E' => 0,
'F' => 0
];
foreach ($defaults as $key => $val) {
if (!array_key_exists($key, $args)) {
$args[$key] = $val;
}
}
echo '<pre>';
print_r($args);
echo '</pre>';
}
MyFunction();
MyFunction(['F' => 77]);
function MyFunction(数组$args=[]){
//提供默认值
$defaults=[
“A”=>0,
“B”=>0,
'C'=>0,
'D'=>0,
“E”=>0,
“F”=>0
];
foreach($默认值为$key=>$val){
如果(!array_key_存在($key,$args)){
$args[$key]=$val;
}
}
回声';
打印费用($args);
回声';
}
MyFunction();
MyFunction(['F'=>77]);
设置默认值MyFunction($A=null,$B=null,…)
因此以这种方式设置局部变量是不安全的。想象一下,如果像任何其他局部变量一样,传递了一些键,如args
、key
、value
等,会发生什么情况。外部代码不应假定调用的function@MaxZuber你完全正确。我试着说这不是一种安全的方法,但有时人们不得不看到一些有用的东西用于学习目的。这是我的主要意图:)