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() を使用する必要があります。 」
という注意書きがあった。
クエリやったら大丈夫だろうけど、フォーム情報を
扱う場合はダメらしい。フォームからの入力は
常に文字列になる、というのは知らなかった。
関連記事
-
PHPバージョンの確認
PHPでバージョンの確認をする際にphpinfo()を 使って調べてたけど、バー ...
-
PHPバージョンが古くjson_decodeが使えない際の対応方法(Services_JSON)
PHPのバージョンが古くてjson_decodeが使えないという状況があった。ま ...
-
CSVファイルを使って郵便番号から住所を抽出する
■ソース <? error_reporting(E_ALL & ~ ...
-
時間と数字のフォーマット
教わったのでメモ。 ・時間の整形 strtotime() 例) $ymd = ' ...
-
PHPとStripeで定額課金(サブスクリプション)実装する方法
PHPとStripeで1ヶ月ごとに500円でサイト内のサービスを使い放題、といっ ...