当前位置: 首页 > 面试题库 >

PHP函数重载

沈开畅
2023-03-14
问题内容

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

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


问题答案:

您不能重载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);


 类似资料:
  • 问题内容: 如果我有一个功能: 如果我想重新定义该函数,它会像重写它一样简单吗? 问题答案: 不,这会引发错误: Runkit提供的选项包括和。

  • 本文向大家介绍重新认识php array_merge函数,包括了重新认识php array_merge函数的使用技巧和注意事项,需要的朋友参考一下 重新认识php array_merge函数 今天因一个Bug重新审视了下array_merge()这个函数。 定义:array_merge — 合并一个或多个数组 规范:array array_merge(array $array1 [, array

  • 问题内容: 在PHP中,函数重载和函数覆盖是什么意思。两者之间有什么区别?无法弄清楚它们之间有什么区别。 问题答案: 重载 定义的函数具有相似的签名,但具有不同的参数。 覆盖 仅与派生类相关,派生类中的父类已定义了一个方法,而派生类希望 覆盖 该方法。 在PHP中,您只能使用magic方法重载方法。 覆盖 的示例:

  • 本文向大家介绍PHP利用func_get_args和func_num_args函数实现函数重载实例,包括了PHP利用func_get_args和func_num_args函数实现函数重载实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP利用func_get_args和func_num_args函数实现函数重载的方法。分享给大家供大家参考。具体方法分析如下: 学习php的朋友都知道p

  • 问题内容: 这个问题已经在这里有了答案 : 升级到php-7后,“调用未定义的函数mysql_connect()” [重复] (1个答案) 未定义的函数mysql_connect() (13回答) 4年前关闭。 我刚刚下载了新版本并尝试运行旧项目,但出现此错误 这是否意味着新的xampp不支持我使用的? 问题答案: 已从最新的xampp版本使用的PHP7中删除。 相反,请像本例一样使用mysqli

  • 问题内容: 我有一个名为parseDate的函数,但是当我在我的php页面(它是一个joomla组件页面)上调用它时,出现致命错误:无法重新声明parsedate()(先前在template / ja_zeolite / assets / functions.php:2中声明)第21行的templates / ja_zeolite / assets / functions.php 第2行是函数pa