空の文字列のデフォルトが必要な場合は、次のいずれかをお勧めします(必要に応じて)。
$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']);