来源于C++背景;br>

一个函数定义(如果有任何参数)和另一个函数定义(如果没有参数)? 这在PHP中是可能的吗?或者,我是否应该使用if Alse来判断是否有任何参数从$_GET和POST传递过来??并将它们联系起来?

推荐答案

不能重载PHP函数.函数签名仅基于它们的名称,不包括参数列表,因此不能有两个同名函数.在PHP中,类method overloading与许多其他语言不同.PHP使用同一个词,但它描述了不同的模式.

但是,您可以声明一个variadic function,它接受可变数量的参数.您可以使用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);

Php相关问答推荐

输入手写CSV时在PHP中进行日期判断

过滤WooCommerce管理员订单列表(+HPOS)中包含其作者产品的订单

与会者在WooCommerce中按购物车项目数量自定义 checkout 字段

如何使用这种格式构建XML?

由于某种原因,FILE_GET_CONTENTS从一天到另一天停止工作,并在PHP 7.2.34中返回一条&http/1.1 406不能接受&的错误

PHP空数组定义与开始或结束逗号

如何保存基于用户 Select 的复选框 Select 模式

来自POST请求的(无效)json字符串中的奇怪字符(编码问题)

Codeigniter 4中的未定义变量$HOME

HTAccess重写一些URL,但将所有其他URL发送到另一个页面

htaccess 重定向子域错误的 url

simplexml_load_file 和 simplexml_load_string 返回具有不同编码的相同数据

无法使用 slim 的父级容器

WooCommerce 有关新订单的附加邮箱通知,其中包含具体详细信息

在WooCommerce可变产品中显示所选变体的自定义字段

如何使用动态变量定义 bind_result?

在 Laravel、Vuejs 和 Inertia 中配置 TypeScript 的问题

PDO 和 SQL 查询结果中日期格式不同的原因可能是什么?

Laravel Factory - 在单列中生成具有随机迭代量的假 json 数组数据

从 CSV 文件 seeder 数据库时的额外行