gpt4 book ai didi

php - 当为可空函数参数指定 `null` 时如何使用默认值?

转载 作者:可可西里 更新时间:2023-11-01 12:29:00 25 4
gpt4 key购买 nike

在 PHP 7.1 中调用以下函数时:

private function doStuff(?int $limit = 999) { }

语法如下:

doStuff(null);

$limit 的值变为 null。所以我猜可以说 $limit 的值被显式设置为 null

有什么办法可以克服这个问题吗? IE。当遇到空值(即缺少值)时使用默认值,无论是隐式还是显式?

最佳答案

没有 PHP 没有“如果为 null 则回退到默认值”选项。你应该这样做:

private function dostuff(?int $limit = null) {
// pre-int typehinting I would have done is_numeric($limit) ? $limit : 999;
$limit = $limit ?? 999;
}

或者,当您对做某事没有合理的值(value)时,请确保您执行 dostuff()dostuff(999)

注意:也有反射获取方法参数的默认值,但这似乎太多了。

但是方法是这样的:

 $m = new ReflectionFunction('dostuff');
$default = $m->getParameters()[0]->getDefaultValue();
dostuff($default);

关于php - 当为可空函数参数指定 `null` 时如何使用默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45320353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com