0

次のような POST データからの整数を検証するために is_numeric を使用していました。

if( ! is_numeric($_POST['integer_string'])) return FALSE // not a integer

次に、値に小数がある場合、 is_numeric が TRUE を返すことを発見しました。

次に、キャストと is_int を試しました。

$int = (int) $_POST['numeric_string'];
if( ! $int)  return FALSE // not a integer

ただし、数値以外の値が渡された後、キャストは整数をカットします。

$int = '222i2';
echo $int;
// 222

検証しようとしている整数は、整数の主キーを識別するために SQL の WHERE 句で使用されます。

POST データから整数を検証する確実な方法は何ですか、またはこの問題に個人的にどのように対処しますか?

4

3 に答える 3