(PHP) ctype_digit関数の使い方【数字のみかどうか判定する】

(PHP) ctype_digit関数の使い方【数字のみかどうか判定する】

 

 

本記事では、PHPで
関数の引数に指定された文字列に、数字だけが含まれているかどうかを確認できる、
ctype_digit関数の使い方を解説していく。

 

ctype_digit関数とは

ctype_digit関数は、
関数の引数に指定された文字列に、数字だけが含まれているかどうかを確認できる関数だ。

ctype_digit
boolean ctype_digit(string text)

 

与えられた文字列 text のすべての文字が 数字であるかどうかを調べる。
数字だけであればTRUEを、数字以外が含まれていればFALSEを返す。

 

ctype_digit関数
  • 引数:text 調べる文字列。
  • 返り値:textのすべての文字が数字だった場合に TRUE 、そうでない場合に FALSE

 

ctype_digit関数の使い方

ではctype_digit関数の使い方を具体例をもとに紹介する。

以下ctype_digit関数のサンプル

#ctype_digit関数の使用例

ctype_digit('43745')     → TRUEをreturn
ctype_digit('abc76')     → FALSEをreturn
ctype_digit('123.45')    → FALSEをreturn

 

使い方と戻り値で特に難しい点はないと思う。
引数に渡した文字列に対し、数字だけかどうかの判定をし、結果(boolean)をreturnする。

 

ただし、以下ctype_ditit関数を使う上での注意点。

 

小数点などが含まれている場合もFALSEとなる。

ctype_digit関数では、引数 textの全ての文字が0~9である必要がある

少数点付きの「123.45」などはFALSEになってしまう点は注意が必要である。

 

(参考) is_numeric

引数に指定した値が、数値か数値として有効な文字列かどうかを判別する場合には、
『数字または数値文字列の判別(is_numeric)』を使用すると良いだろう。

is_numeric() – 変数が数字または数値形式の文字列であるかを調べる

 

引数 text は「文字列」で渡す

引数は必ず文字列で渡すこと。公式マニュアルでも注意書きがしてある。

https://www.php.net/manual/ja/function.ctype-digit.php

警告

PHP 8.1.0 以降は、ctype関数 に文字列でない引数を渡すことは、推奨されなくなりました。将来のバージョンでは、引数は ASCII コードポイントではなく、文字列として解釈されるようになります。ユーザが意図する振る舞いによっては、引数を文字列にキャストするか、 chr() を明示的にコールすべきです。

 

関連記事

(PHP) strstr関数・stristr関数の使い方と違いを解説
(PHP) glob関数の使い方【ファイルを一覧取得する】
(PHP) array_merge関数の使い方【array_merge_recursiveとの違いも】

 

https://www.php.net/manual/ja/function.ctype-digit.php

 

  • ctype_alnum() – 英数字かどうかを調べる
  • ctype_xdigit() – 16 進数を表す文字かどうかを調べる
  • is_numeric() – 変数が数字または数値形式の文字列であるかを調べる
  • is_int() – 変数が整数型かどうかを検査する
  • is_string() – 変数の型が文字列かどうかを調べる

 

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です