函数问题中未定义重构参数


Refactoring parameter not defined in function issue

我正在研究一些旧的PHP,我还不是PHP的顶级专家。

类中的某些代码段调用带有数组参数的方法:

$saleServers = $this->getSaleServers();
// Getting prices from cache or request
$prices = $this->getProductPrices($saleServers);

但是,该方法没有定义数组参数:

public function getProductPrices($getLicenseLifetime = true) { ... }

我的问题是:

  1. PHP将如何处理$saleServers,它会忽略它吗?如果是,我想我可以将其从函数调用中删除。

  2. PHP 将如何处理有关$saleServers $getLicenseLifetime?它会将它们混合在一起还是将它们分开(即,PHP 不会将$saleServers分配给$getLicenseLifetime,对吗)?

$getLicenseLifetime 将设置为$saleServers的内容,如果您这样调用它,并且如果您省略参数,则将true

PHP 是弱类型的,因此您可以使用任何类型的变量调用函数,并且在函数内部您可以检查变量的类型,该变量使用 is_array() 等函数保存参数。 PHP5 知道类型提示的概念,它主要适用于对象(例如不支持标量),使用 PHP7 您可以声明参数类型。