gpt4 book ai didi

PHP 函数,空默认参数

转载 作者:行者123 更新时间:2023-12-02 06:59:40 25 4
gpt4 key购买 nike

我有一个看起来像这样的 PHP 函数签名,如果没有提供任何内容,我希望第 4 个参数默认为 NULL。

testfunction($param1, $param2, $param3, $param4=NULL) {
//do stuff
}

我也可以使用 4 个参数调用

x = testfunction('100', 'abc', 'xxx', null);

为什么我也可以使用3个参数调用该函数而没有任何错误?

x = testfunction('100', 'abc', 'xxx');

我的做法是否正确(使用 3 个参数)?关于这与定义单独函数签名的传统方法重载有什么关系,有什么想法吗?

我的问题是一般性的。希望有人可以阐明它及其周围。

最佳答案

当你像这样声明一个函数时:

testfunction($param1, $param2, $param3, $param4=NULL) {
//do stuff
}

您是在告诉 PHP $param4 已经有一个值,所以当调用该函数时,已经为它分配了一个值。它不希望您为该参数发送参数,因为已经分配了默认参数。

因此它知道该功能将能够(在一定程度上)按预期运行。它对于制作可选参数很有用。

然而,当你这样声明一个函数时:

testfunction($param1, $param2, $param3, $param4) {
//do stuff
}

PHP 期望您通过该参数发送 ($param4),因为没有它,该函数将无法完成您设置的任务,至少 PHP 是这样假设的,因为您永远不会创建一个有 4 个参数的函数,其中没有一个在函数体中使用。

有道理吗?

关于PHP 函数,空默认参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23469498/

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