PHP 两个同名方法

标签 php class methods

我可以有两个方法共享相同的名称,但具有不同的参数吗?

一个是 public static 并且接受 2 个参数,另一个只是 public 并且只接受一个参数

例子

class product{

  protected
    $product_id;

  public function __construct($product_id){
    $this->product_id = $product_id;
  }

  public static function getPrice($product_id, $currency){
    ...
  }

  public function getPrice($currency){
    ...
  }

}

最佳答案

没有。 PHP 不支持经典重载。 (它确实实现了称为重载的其他东西。)

您可以使用 func_get_args() 及其相关函数获得相同的结果:

function ech()
{
  $a = func_get_args();
  for( $t=0;$t<count($a); $t++ )
  {
    echo $a[$t];
  }
}

关于PHP 两个同名方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8409204/

相关文章:

c++ - 从基本/父数组调用子成员?

arrays - 在 swift 中按 array.count 对对象进行排序

java - 使用循环和 if 语句从方法返回时出错

php - 从 PHP 中的 URL 字符串生成有效的数组键

php - 带有短代码的 get_post_meta 数据,是否可能

java - java中不同类中通过静态方法设置和获取静态变量值

java - 如何将学生添加到名册(来自 Java 的不同类(class))?

python - 如何在 python 中覆盖方法默认参数?

php - 如果他使用 var 来解释 PHP OOP,这是否是旧的解释?

php - 为什么 PHP 函数 htmlentities(...) 返回错误结果?