以前数値かどうか?というエントリで記述したようにPHPでの数値かどうかの判定にはis_intが使えると書きました。他にもctype_digitという関数があるのですが、この関数は”文字列”が”数字”かどうかを判定するので、string型で用いるのが前提になっています。つまり、float型はもちろん、int型もすべてfalseと判断されます。
いくつかの例でテストした結果を一覧表にしてみました。(PHPのバージョンは5.2.5)
続きを読む 整数かどうか s_numeric,is_int,ctype_digit (PHP)
「数値」タグアーカイブ
数値を3桁ごとにカンマ区切り (PHP)
PHPで出力時にカンマで区切るときに一番単純なのは、number_format()を使うことです。引数は元の数値のみの単純構造となっています。
$i = 12345; print number_format($i);
結果は12,345となります。
数値かどうか? (PHP)
PHPでは変数が数値かどうかを確かめるための関数があります。
is_numeric($nanika)で$nanikaが数値ならtrueを返しますが、ここで注意が必要です。
注意としては、0xで始まる16進数や、小数、またはピリオドから始まる数字(たとえば”.12″など)も数値として判断されます。
整数のみを判別する場合は、is_int()を使うべきかもしれません。小数かどうかを判定するis_floatという関数もありますがこちらは、整数をfalseとし、”1e7″などの科学記法はtrueと判断されます。いわゆる「数字」というものがどれを指すか(指したいのか)を、十分考慮に入れて使用する必要があります。そのため、正規表現を用いた方が確実な場合もあります。