2016-03-08 41 views
0

我正在使用一些舊的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如何處理$getLicenseLifetime關於$saleServers?它會混淆起來還是將它們分開(即,PHP不會將$saleServers指定爲$getLicenseLifetime,是正確的)?如果省略該參數

+0

@syck我進行了一個小測試,確認你說的是什麼。如果您創建答案,我會批准它。謝謝。 – JVerstry

+0

完成並在路上自學了一下:) – syck

回答

1

$getLicenseLifetime將被設置爲$saleServers內容,如果你調用它的方式,並將於true

PHP是弱類型的,所以你可以用任何類型的變量調用函數,並且在函數內部你可以檢查變量的類型,這些變量類型包含函數如is_array()等PHP5知道類型提示的概念,主要用於對象(不支持標量)和PHP7,你可以declare argument types

相關問題