empty
0
を入力するとtrue
が返されます。あなたはそれが(関係なく、値の)設定されているかどうかを確認する代わりにisset
を使用することができます。
if(isset($_GET['number']))
http://php.net/emptyから:
戻り値はFALSE varが空でないとゼロ以外の値を持っている場合。
以下のものが空であると考えられる:
""
- (空文字列)
0
(整数として0)
0.0
(floatとして0)
"0"
( 0を文字列として)
NULL
FALSE
array()
(空の配列)
var $var;
(変数が宣言が、クラス内の値なし)
私のテスト:
$_GET['number'] = "0";
assert(isset($_GET['number']));
$_GET['number'] = 0;
assert(isset($_GET['number']));
あなたのコードは次のようになります:
if(!isset($_GET['number'])) {
echo "No GET variables";
}
if(isset($_GET['number'])) {
$number=strip_tags(addslashes(htmlspecialchars($_GET['number'])));
echo $number;
}
以上の簡潔な
if(!isset($_GET['number'])) {
echo "No GET variables";
} else {
$number=strip_tags(addslashes(htmlspecialchars($_GET['number'])));
echo $number;
}
の第三のcharを使用していますか? –
@ Samham私はちょうどテストしたし、確かに..あなたはそれを自分で試してみましたか? –
私はちょうど、did not show 0 ... –