数字または数値文字列の判別(is_numeric)

広告

関数の引数に指定された変数に数字又数字を表す数値文字列が格納されているかどうかを確認します。「is_numeric」関数を使います。

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

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

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

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

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

functest21.php

<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>

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

is_numericのテスト

( Written by Tatsuo Ikura )