is_numeric関数の使い方(数字または数値文字列の判別)

PHP で用意されている組み込み関数の一つである is_numeric 関数の使い方です。 is_numeric 関数は関数の引数に指定された変数に数字又数字を表す数値文字列が格納されているかどうかを調べます。

(2022 年 09 月 28 日公開 / 2022 年 09 月 28 日更新)

is_numeric関数の書式と基本的な使い方

is_numeric 関数は次のように定義されています。

boolean is_numeric(mixed var)

引数に指定した変数が数値であるかどうかを調べます。数値文字列として有効
な値は下記の通りです。
 (オプションの)符号
  任意の数の数字
 (オプションの)小数部
 (オプションの)指数部
16 進表記(0xFF)も有効です。

引数:
  var  調べる変数。
返り値:
  varが数値または数値文字列である場合に TRUE、それ以外の場合に FALSE 
    を返します。

数値型の変数か、又は文字列であっても格納されている文字が数値として有効な値である場合にTRUEを返します。

文字列の変数に対して全てが数字かどうかを判別する場合には『数字の判別(ctype_digit)』を参照して下さい。

サンプルコード

では実際に試してみます。

<html>
<head><title>PHP TEST</title></head>
<body>

<?php

function dispKekka($var, $var_num){
    print('変数に格納されている値は'.$var.'です<br>');
    print('変数の型は'.gettype($var).'です<br>');

    if ($var_num == TRUE){
        print('変数の値は数値として有効です<br><br>');
    }else{
        print('変数の値は数値として有効ではありません<br><br>');
    }
}

$var = '123.456';
$var_kata = is_numeric($var);
dispKekka($var, $var_kata);

$var = 123;
$var_kata = is_numeric($var);
dispKekka($var, $var_kata);

$var = 123.45;
$var_kata = is_numeric($var);
dispKekka($var, $var_kata);

$var = '45a';
$var_kata = is_numeric($var);
dispKekka($var, $var_kata);

?>
</body>
</html>

上記のファイルを Web サーバに設置しブラウザ経由で見ると下記のように表示されます。

is_numericのテスト

-- --

PHP で用意されている組み込み関数の一つである is_numeric 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。