作成日:2018-09-14, 更新日:2018-11-08
基本
「ctype_digit()」に調査したい文字列を渡す
$str = 〇〇〇; if ( ctype_digit(''.$str) ) { // 数字 } else { // 数字じゃない }
※数値の可能性があるので「''.$str」として無理やり文字列にして渡す。
▼下記のようになるそうだ。
・ctype_digit(数字)→true
・ctype_digit(数値)→false
サンプル
数値(整数、小数、マイナス)、半角数字(整数、小数、マイナス)、全角数字(整数、小数、マイナス)のそれぞれ。
値 | 結果 | var_dump($str); | |
---|---|---|---|
数値 | $str = 0; | 数字 | int(0) |
$str = 2; | 数字 | int(2) | |
$str = 500; | 数字 | int(500) | |
$str = -1; | 数字じゃない | int(-1) | |
$str = 2.5; | 数字じゃない | float(2.5) | |
半角数字 | $str = '0'; | 数字 | string(1) "0" |
$str = '2'; | 数字 | string(1) "2" | |
$str = '500'; | 数字 | string(3) "500" | |
$str = '-1'; | 数字じゃない | string(2) "-1" | |
$str = '2.5'; | 数字じゃない | string(3) "2.5" | |
全角数字 | $str = '0'; | 数字じゃない | string(3) "0" |
$str = '2'; | 数字じゃない | string(3) "2" | |
$str = '500'; | 数字じゃない | string(9) "500" | |
$str = '-1'; | 数字じゃない | string(4) "-1" | |
$str = '-1'; | 数字じゃない | string(6) "-1" | |
$str = '2.5'; | 数字じゃない | string(7) "2.5" | |
$str = '2.5'; | 数字じゃない | string(9) "2.5" |