0

$_GETor$_POSTが設定されているかどうかを確認するための次のベストプラクティスは何ですか?

if(isset($_GET['input']) && !empty($_GET['input']))

if(isset($_POST['input']) && !empty($_POST['input']))

そうでない場合、ベストプラクティスは何ですか?

4

1 に答える 1

4

つまり、存在し、値を持っている場合、文字列の場合

if (isset($_GET['foo']) && strlen($_GET['foo'])) {   }

isset() と !empty() の両方を使用するのは冗長です。単に !empty() を使用できます。empty() が何をするのかを理解していることを確認してください。よく誤解されています。

よく考えてみると、リクエスト変数も配列になる可能性があることを考えると、一般的なケースでは型チェックを追加するのが良い考えかもしれません。そうしないと、意図しない機能が発生する可能性があります。

if (isset($_GET['foo']) && is_string(($_GET['foo']) && strlen($_GET['foo'])) {   }
于 2012-05-07T00:06:04.660 に答える