作成日: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" |