2017-06-17 57 views
0

我想知道是否可空類型的新功能,可用於在該工作函數的語法從PHP可空類型工作不正常

function getCustomerId($id = null) 
{ 
    return $id ?: 2; 
} 

echo getCustomerId(); 

改變這樣的事情這不是爲工作我。我得到的參數太少的錯誤。

function getCustomerId(?int $id) 
{ 
    return $id ?: 2; 
} 

echo getCustomerId(); 

因此,基本上如果參數沒有提供,它返回2,但如果提供參數,它返回該參數。

回答

1

你有點混淆概念可選自變量的概念可空個。

一個可選參數意味着你不需要通過它因爲它是可選的。

可空參數意味着而參數需要是某種類型的,即null也是有效的(其中,它不會是如果它是不可爲空)。可空性並不意味着你不需要傳遞任何東西;你還是這樣做。它可以是null

如果你想有一個整型參數,它是可選的,視爲無效,如果不通過,然後再結合揭掉兩個例子:

function getCustomerId(?int $id=null) 
{ 
    return $id ?: 2; 
} 

編號:PHP > New Features > Nullable types