数値かどうかをチェックする

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>数値かどうかをチェックしたい</title>
</head>
<body>
<?php
if (isset($_POST['number'])) {
  $number = $_POST['number'];

  echo '<p>ctype_digit()関数:</p>';
  if (ctype_digit($number)) {
    echo h($number) . 'は数値です。';
  } else {
    echo h($number) . 'は数値ではありません。';
  }

  echo '<p>is_numeric()関数:</p>';
  if (is_numeric($number)) {
    echo h($number) . 'は数値です。';
  } else {
    echo h($number) . 'は数値ではありません。';
  }
}

function h($string) { // HTMLでのエスケープ処理をする関数
  return htmlspecialchars($string, ENT_QUOTES);
}
?>
<form method="post" action="">
<p>数字を入力してください</p>
<input type="text" name="number" value="" />
<input type="submit" value="送信する" />
</form>
</body>
</html>