PHP 学習メモ 11

概要

 PHP 学習メモ。数値形式の文字列について。

内容

  1. 数値形式の文字列

1. 数値形式の文字列

 数値形式の文字列とは:

PHP の 文字列 は、 int や float と解釈できる場合は 数値と見なされます。

www.php.net

 is_numeric 関数を使用して、文字列が数値形式かどうか判定する:

<?php session_start(); ?>

<!DOCTYPE html>
<html>
<body>
  <p>入力された文字列が数値形式かどうか判定します。</p>
  <form method="POST">
    <input
      type="text" name="text"
      value="<?php echo isset($_SESSION['text']) ? htmlspecialchars($_SESSION['text']) : ''; ?>"
    />
    <input type="submit" value="判定" />
  </form>
</body>
</html>

<?php

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  $text = $_POST['text'];
  $_SESSION['text'] = $text;

  if (is_numeric($text)) {
    $_SESSION['result'] = "数値形式の文字列です。";
  } else {
    $_SESSION['result'] = "数値形式の文字列ではありません。";
  }
  header("Location: demo.php");
  exit();
}

if (isset($_SESSION['result'])) {
  echo $_SESSION['result'];
}

unset($_SESSION['result']);
unset($_SESSION['text']);
?>

 リダイレクト(header("Location: demo.php");)を使用しているのは、ブラウザ更新時再度POSTが実行されることを防ぐため。セッションを使用しているのは、リダイレクトにより判定結果や入力した文字列が消えることを防ぐため。