KANTENNA.COM

Solarized

HOME > WEBプログラム覚書 > 数値関連の比較 is_int()、ctype_digit()、is_numeric()

数値関連の比較 is_int()、ctype_digit()、is_numeric()

数値関連の調査に使う関数is_int()、ctype_digit()、is_numeric()の違いについてメモ。

is_int()
変数が整数型かどうかを検査する。型の比較。
ctype_digit()
数字かどうかを調べる。与えられた変数がすべて数字ならtrue
is_numeric()
変数が数字または数値文字列であるかを調べる。16進数などもtrue

サンプル

PHP
  1.  <?php
  2.  $num = array(
  3.   0, // 0
  4.   null, // 1
  5.   014, // 2
  6.   -14, // 3
  7.   12.2, // 4
  8.   '', // 5
  9.   'test', // 6
  10.   99 .'aa' // 7
  11.   '794', // 8
  12.   +0123.45e6 // 9
  13.   0xFF // 10
  14.   1234 // 11
  15.  );
  16.  
  17.  echo '<h5>is_int()</h5>';
  18.  
  19.  echo '<pre>';
  20.  for ($i=0; $i<sizeof($num); $i++) {
  21.   echo $i . ':';
  22.   var_dump(is_int($num[$i]));
  23.  }
  24.  
  25.  echo '<hr />';
  26.  
  27.  // 型の比較なので下記もtrue
  28.  var_dump(is_int(intval('整数型だからtrue')));
  29.  
  30.  echo '</pre>';
  31.  
  32.  echo '<h5>ctype_digit()</h5>';
  33.  
  34.  echo '<pre>';
  35.  for ($i=0; $i<sizeof($num); $i++) {
  36.   echo $i . ':';
  37.   var_dump(ctype_digit($num[$i]));
  38.  }
  39.  echo '</pre>';
  40.  
  41.  echo '<h5>is_numeric()</h5>';
  42.  
  43.  echo '<pre>';
  44.  for ($i=0; $i<sizeof($num); $i++) {
  45.   echo $i . ':';
  46.   var_dump(is_numeric($num[$i]));
  47.  }
  48.  echo '</pre>';
  49.  ?>

実行結果

is_int()
0:bool(true)
1:bool(false)
2:bool(true)
3:bool(true)
4:bool(false)
5:bool(false)
6:bool(false)
7:bool(false)
8:bool(false)
9:bool(false)
10:bool(true)
11:bool(true)

bool(true)
ctype_digit()
0:bool(false)
1:bool(false)
2:bool(false)
3:bool(false)
4:bool(false)
5:bool(false)
6:bool(false)
7:bool(false)
8:bool(false)
9:bool(false)
10:bool(false)
11:bool(true)
is_numeric()
0:bool(true)
1:bool(false)
2:bool(true)
3:bool(true)
4:bool(true)
5:bool(false)
6:bool(false)
7:bool(false)
8:bool(false)
9:bool(true)
10:bool(true)
11:bool(true)

トラックバック(0)

コメント

コメントする
Name
Email Address
URL
TIME LINE
2012
02.08

[Ubuntu11.10]Winows XPユーザーがUbuntuを使ってみて

Windows XPとUbuntuのデュアルブート環境にしてみておもったこと。

2012
02.03

[jQuery]closest()とparents()

今から16年前Netscapeブラウザのソースコードの公開方法の会議の中で、初めてオープンソースという言葉が使われた今日、 みなさんいかがお過ごしでしょうか。

今回の投稿はそれとは関係のないjQueryのparents()とclosest()が 似てたので何が違うのか試した時のメモです。

2012
02.01

[jQuery Mobile]初期化イベントメモ

jQuery Mobileは読み込まれてから

mobileinit -> pagebeforecreate -> pagecreate -> pageinit

の順番でイベントが発生する。

2012
02.01

[WordPress]管理画面のフッタのフィルタとアクション。

時間も時間なので、あまり使用頻度の高くない微妙なネタを。

会員制サイトなどで不特定多数の人にログインさせる場合、フッタのバージョン情報は隠しておきたかったり、 こじゃれたメッセージを表示したいときとか使うアクションとフィルタ。

2012
01.28

[WordPress] ブログの情報を取得する方法とノーキャッシュ疑惑

ブログのget_bloginfo()で取れないデータが必要な場合に使うもの。

2012
01.26

[jQuery Mobile]ダイアログ

jQuery Mobileにおけるダイアログの扱いはウインドウではなくページ。 なので通常のページと同様に扱える。ダイアログウインドウを出す。じゃなくダイアログページに遷移する。的な。

2012
01.25

[Ubuntu11.10]Ubuntuのインストール後の設定

インストール完了後の環境構築。PC起動時いちいちBIOSからブートドライブ選んで ブートするのかと思ってたら起動時にOS選択画面が出てくる。

すばらしいですね。

2012
01.24
2012
01.23

MinGW+Mintty+Git

MinGW+Mintty+Gitをやろうとして失敗に終わった。このエントリーには収穫できるものはありません。