php函数多个参数实现传参任意顺序?
发布网友
发布时间:2022-05-11 03:45
我来回答
共6个回答
热心网友
时间:2022-04-20 09:06
这个不行,因为本身就会有逻辑错误。比如:他怎么知道。test(100)是$i,而不是$obj呢。也可能是第五个参数呢。要么test方法判断,要么占位。这个没啥好办法
热心网友
时间:2022-04-20 10:24
你的函数的状态太多....就是运行的前提太多。另外写一个函数包含了这个的运行状态再运行
function test2($i=0){ test('',0,$i,null);}
调用test2(100);
热心网友
时间:2022-04-20 11:59
简单的不定量传参函数可以解决无序传参:在你这做个记号,免得以后忘了;
function test($value){
if(isset($value['1']){
echo “当传递了第一个参数的时候:{$value['1']}”;
}
if(isset($value['2']){
echo “当传递了第二个参数的时候:{$value['2']}";
}
}
test([1=>"test1"]);
test([2=>["test2"]);
热心网友
时间:2022-04-20 13:50
function handle(...$args){
$params_array = func_get_args();
var_mp($params_array);
}
这个方法支持任意多个参数
热心网友
时间:2022-04-20 15:58
//一个数组搞定 , 相传什么传什么
function test($data=[]){
$str=$data['str']??'';
$flot=$data['flot']??0;
$i=$data['i']??0;
$obj=$data['obj']??null;
}
调用 :test(['i'=>2])
热心网友
时间:2022-04-20 18:23
PHP不支持这种调用方式,你的需求是不能实现的。要么老实写,要么把经常变动的提到最前面.