在函數中檢查可選參數類型的最佳方法是什麼?我目前看到的每個例子都是下面的樣式2。這是比方案1更好的方法,還是僅僅因爲你無法直接檢查參數中的某些內容?如果通過,我需要可選參數作爲數組。PHP:什麼時候應該檢查數組的可選參數類型?
1)
public function foo($reqData, array $optData = NULL) {
...
if ($optData) {
foreach ($optData...
}
}
OR 2)
public function foo($reqData, $optData = NULL) {
...
if (is_array($optData)) {
foreach ($optData...
}
}
兩者如何? 'if($ optDat!== NULL && is_array($ optData))' – Havelock 2013-04-29 19:43:30
在第一個例子中,$ optData需要作爲一個數組提供。第二個可以是一個單值變量,它也可以是一個數組。這就是爲什麼用「is_array」進行調查。兩者都做同樣的事情 – Daniel 2013-04-29 19:45:08
我知道他們都具有相同的結果結束,我在想,如果我失去了一些東西,因爲每次我已經能夠找到的例子是第二個樣式,當第一個樣式更加直觀我(至少來自我的背景與強類型語言)。 – Inukshuk 2013-04-29 19:51:30