空の文字列のデフォルトが必要な場合は、次のいずれかをお勧めします(必要に応じて)。
$str_value = strval($_GET['something']);
$trimmed_value = trim($_GET['something']);
$int_value = intval($_GET['somenumber']);
urlパラメータがurlにsomething 存在しない場合は、$_GET['something'] null
strval($_GET['something'])-> strval(null)->""
変数$valueは空の文字列に設定されています。
trim()コードによっては優先されるstrval()場合があります(たとえば、Nameパラメーターがそれを使用する場合があります)
intval()数値のみが予想され、デフォルトがゼロの場合。intval(null)->0
考慮すべきケース:
...&something=value1&key2=value2(典型的な)
...&key2=value2(URL $ _GETにパラメーターがない場合、nullが返されます)
...&something=+++&key2=value(パラメータは" ")
これが推奨されるアプローチである理由:
- それは1行にきちんと収まり、何が起こっているのかが明確です。
- それはより読みやすい
$value = isset($_GET['something']) ? $_GET['something'] : '';
- コピー/貼り付けの間違いやタイプミスのリスクが低い:
$value=isset($_GET['something'])?$_GET['somthing']:'';
- それは古いものと新しいもののphpと互換性があります。
厳密モードの更新には、次のようなものが必要になる場合があります。
$str_value = strval(@$_GET['something']);
$trimmed_value = trim(@$_GET['something']);
$int_value = intval(@$_GET['somenumber']);