PHPで数値チェック
2014/06/06
ページング情報だったりフォーム情報だったりで、
数値かどうかをチェックしたかった。
調べるとis_numericがいいみたい。
■リファレンス
http://www.php.net/manual/ja/function.is-numeric.php
if ($_GET['page']) {
$page = $_GET['page'];
} else {
$page = 0;
}
みたいな感じで、ページング情報をクエリで持ってきて
クエリがあって尚且つ数値の場合は$pageに格納、
それ以外の場合は強制的に1ページ目を表示するような形。
あとついでにis_intという関数もあって、これでいいんじゃないの?
と思ったらどうもダメらしい。
■リファレンス
http://php.net/manual/ja/function.is-int.php
「注意:
変数が数値もしくは数値形式の文字列の場合 (フォームからの入力の場合は 常に文字列となります) 、
is_numeric() を使用する必要があります。 」
という注意書きがあった。
クエリやったら大丈夫だろうけど、フォーム情報を
扱う場合はダメらしい。フォームからの入力は
常に文字列になる、というのは知らなかった。
関連記事
composerでライブラリのインストールとインストール時のエラー対応方法
composerでライブラリをインストールする際に「The following ...
MySQLで使用するインデックスを指定する
ちゃんと指定してるのにインデックスが使用されていない場合、 オプティマイザに知ら ...
JSONをPHPで扱う
JSONデータはjavascriptで扱うものと思ってたけど、 PHPでも使える ...
PHPでメルマガを配信する方法(BCCで一括送信するパターン)
PHPでメールマガジンを配信したかった。宛先のメールアドレスはMySQLに保存さ ...
PHPの配列でキーの最大値を取得
PHPの配列でキーの最大値を取得したかった。以下で対応する。 $test = a ...