5

重複の可能性:
php: '0' は empty() を使用した文字列として

私はそのようなフォームで入力を持っています

<input name='var' type='number'>

フォームが送信されると、入力は POST を介して PHP ファイルに送信されます。PHPファイルでは、チェックによって入力が記入されているかどうかを確認します

empty($_POST['var'])

テキストボックスに '0' (ゼロ) を入力してフォームを送信すると、print_r($_POST) と 'var' を明確に試しても、PHP コードは empty($_POST['var']) に対して '1' を返します。値は「0」です。

これは起こるはずですか?この例外の == 0 も確認する必要がありますか? ありがとう。

4

3 に答える 3

3

フィールドが入力されているかどうかを確認するには、isset($_POST['var'])代わりにを使用してくださいempty($_POST['var'])

于 2012-10-24T02:08:14.287 に答える
0

empty空の文字列か、文字列に空白文字のみが含まれているかを確認するためだけに使用することはできません。

次のように使用します。

function isEmpty($key) {
  return isset($_POST[$key]) && trim($_POST[$key]) === '';
}
于 2012-10-24T02:07:17.003 に答える
0

empty() は、チェック対象の変数が未定義、0、空の文字列 ''、false、空の配列、または null の場合に true を返します。したがって、表示されている結果は 100% 正しいです。

0 が正当な値である場合は、is_set() を使用してください。

于 2012-10-24T02:31:05.530 に答える