小编典典

PHP函数重载

php

来自C ++背景;)
如何重载PHP函数?

一个函数定义是否有参数,而另一个函数定义无参数?PHP中可能吗?还是应该使用if来检查是否有从$ _GET和POST传递的任何参数?并联系他们?


阅读 395

收藏
2020-05-26

共1个答案

小编典典

您不能重载PHP函数。函数签名仅基于它们的名称,并且不包括参数列表,因此不能有两个具有相同名称的函数。PHP中的类方法重载与许多其他语言中的不同。PHP使用相同的词,但是描述了不同的模式。

但是,您可以声明一个可变参量,该可变参函数接受可变数量的参数。您将使用func_num_args()func_get_arg()获取参数,并正常使用它们。

例如:

function myFunc() {
    for ($i = 0; $i < func_num_args(); $i++) {
        printf("Argument %d: %s\n", $i, func_get_arg($i));
    }
}

/*
Argument 0: a
Argument 1: 2
Argument 2: 3.5
*/
myFunc('a', 2, 3.5);
2020-05-26