オプションのパラメーターを使用して PHP 関数を呼び出す場合、オプションのパラメーターがデフォルトのままであることを指定するにはどうすればよいですか? 他の言語には、default使用できるキーワードがあります - substr($str, 0, default).
例:substr($str, 0, null)
nullパラメータとして指定したので$length、空の文字列が返されますが、実際には文字列全体が必要でした。
substrドキュメントから:
length が指定され、0、FALSEまたはNULLの場合、空の文字列が返されます。
この場合null、通常のように指定することはできません。また、番号を指定することもできません。
質問
$lengthのパラメータのデフォルト値はsubstr?- パラメータをデフォルト、つまりデフォルトのキーワード/演算子として指定する方法はありますか?
実際の例:
不適切な形式の 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。