php get 默认值,PHP函数数组默认值?

您只能使用标量类型作为函数参数的默认值.

从那里引用:

The default value must be a constant expression, not (for example) a variable, a class member or a function call.

编辑:

但是如果您仍然需要将此值作为数组中的默认值,则可以执行以下操作:

如果使用默认数组,只需使用可以用str_replace()替换的占位符.如果您需要多次使用默认数组中函数的返回值,只需要使用相同的占位符并且两者都将被替换,这也具有优势.

public function create(

$data = [

"user-id" => "::PLACEHOLDER1::",

//^^^^^^^^^^^^^^^^ See here just use a placeholder

"level" => '1',

"ignore-limits" => '0',

]){

$data = str_replace("::PLACEHOLDER1::", Auth::id(), $data);

//^^^^^^^^^^^ If you didn't passed an argument and the default array with the placeholder is used it get's replaced

//$data = str_replace("::PLACEHOLDER2::", Auth::id(), $data);

//...

}

您可以做的另一个想法是设置一个默认数组,您可以检查,然后像这样分配真实数组:

public function create($data = []){

if(count($data) == 0) {

$data = [

"user-id" => Auth::id(),

"level" => '1',

"ignore-limits" => '0',

];

}

//...

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值