我正在研究一些旧的PHP,我还不是PHP的顶级专家。
类中的某些代码段调用带有数组参数的方法:
$saleServers = $this->getSaleServers();
// Getting prices from cache or request
$prices = $this->getProductPrices($saleServers);
但是,该方法没有定义数组参数:
public function getProductPrices($getLicenseLifetime = true) { ... }
我的问题是:
PHP将如何处理
$saleServers
,它会忽略它吗?如果是,我想我可以将其从函数调用中删除。PHP 将如何处理有关
$saleServers
$getLicenseLifetime
?它会将它们混合在一起还是将它们分开(即,PHP 不会将$saleServers
分配给$getLicenseLifetime
,对吗)?
$getLicenseLifetime
将设置为$saleServers
的内容,如果您这样调用它,并且如果您省略参数,则将true
。
PHP 是弱类型的,因此您可以使用任何类型的变量调用函数,并且在函数内部您可以检查变量的类型,该变量使用 is_array() 等函数保存参数。 PHP5 知道类型提示的概念,它主要适用于对象(例如不支持标量),使用 PHP7 您可以声明参数类型。