使用可選參數調用PHP函數時,如何指定可選參數保持爲默認值?其他語言有一個default
關鍵字可以使用 - substr($str, 0, default)
。默認關鍵字 - 可選函數參數
例:substr($str, 0, null)
我已指定null
爲$length
參數,所以它會返回一個空字符串,實際上我想整個字符串。
從substr
文檔:
如果長度給出並且是,FALSE或NULL一個空字符串將被返回。
所以在這種情況下,我不能指定null
,因爲我通常會,我也不能指定一個數字。
問題
- 什麼是
substr
的$length
參數的默認值? - 有沒有辦法將參數指定爲默認值,即默認的關鍵字/運算符?
實證:
我想從一個格式化的不良URL中提取的主機名。
$url = 'example.com';
if(!$host = parse_url($url, PHP_URL_HOST))
{
//There is no URL protocol so parse_url won't work
$host = substr($url, 0, strpos($url, '/') ?: null);
}
echo $host;
在上面的例子$host
是一個空字符串,因爲$url
不含任何正斜槓(/
)。如果你在$url
的末尾添加一個斜線,那麼它工作正常($url = 'example.com/'
)。
我意識到我只能使用if
子句而不是三元組,但我想知道是否有任何方式發送默認參數而不是null
。
不幸的是,我無法在訪問PHP文檔:
您也可以根據通過call_user_func_array)參數(
例如用SUBSTR()調用函數這一次,Google報告了惡意軟件感染。相反,我一直在提及我的IDE文檔,所以我希望答案不明顯。 – Drahcir
您是否通過Google搜索訪問了文檔?它也發生在我身上,所以我只是直接在地址欄上放置docs addreess。 – DontVoteMeDown
'如果省略了長度,則從字符串的開始到結尾的字符串將被返回。' –