GET 文字列が URL に設定され、その値が整数であることを確認しようとしていますが、これを機能させることができません。
if (isset($_GET['allusers']) && is_int($_GET['allusers'])) {
echo "works";
}
括弧で何か間違っていますか?
GET 文字列が URL に設定され、その値が整数であることを確認しようとしていますが、これを機能させることができません。
if (isset($_GET['allusers']) && is_int($_GET['allusers'])) {
echo "works";
}
括弧で何か間違っていますか?
$_GET
変数を整数にすることはできません。常に文字列になります。
数値文字列かどうかをテストするには、次を使用しますis_numeric()
。
if ( isset($_GET['allusers']) && is_numeric($_GET['allusers']) )
{
echo "works";
}
あなたのコードで
isset($_GET['allusers'])
trueと評価されますが、is_int($ _ GET ['allusers'])は、$ _ GETの値が文字列であるため、コードを次のように変更できません。
if (isset($_GET['allusers']) && is_int(intval($_GET['allusers']))) {
echo "works";
}
これはうまくいくでしょう
ctype_digit
非負の整数のみが必要な場合に使用します。数値のみを許可するため、このような場合に最適な結果が得られます0-9
。
は、負数と浮動小数点数の両方の整数に変換できる文字列に対してis_numeric
返されることに注意してください。と見なされるtrue
もののいくつかの例:is_numeric
true
0xF5
(16 進数)-.0e-000
(変な表現0.0
)-0.4
is_intは文字列を返しますfalse
。これは、GET変数になります。
var_dump(is_int("23"));
bool(false)
is_numericinstadを使用する必要があります。