偶数或奇数字符串检查

时间:2019-11-17 17:15:00

标签: php

我正在尝试编写一个程序来检查输入的 string 是偶数还是奇数,并且不断收到错误,我不知道为什么。

  

(i =奇数,ii =偶数,iii =奇数,iiii =偶数),依此类推。

我尝试

<?php
    //checking even and odd
    echo '<form action="" method="post">';
    echo "<input type='text' name='val'>\n";
    echo "<button type='submit' name='submit'>Check</button>\n";
    echo "</form>";

    $val = 0;
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
      if (empty($_POST["val"])) {
        $Err = "<span style ='color: red;'>Required.</span>";
        echo $Err;
        die();
      } else {
          $val = $_POST["val"];
      }


    $even = ($val % 2 == 0);
    $odd = ($val % 2 != 0);
    if ($val > 0){
    if($even){
        echo "Sting is even.";
    } else {
        echo "Sting is odd.";
    }
    } else {
        echo "Error";
    }
    }
?>

2 个答案:

答案 0 :(得分:1)

您不能分割字符串,需要检查长度。根据您的iiiiiiiiii等示例:

if(strlen($val) % 2 == 0) {
    //even
} else {
    //odd
}

答案 1 :(得分:0)

解决方案

<?php
$val = "10";

if (is_numeric($val)){
  if($val % 2 == 0){
        echo "Even";
    }
    else{
        echo "Odd";
    }
}
else {
  echo "Invalid number";
}
?>

在这里,is_numeric($val)检查输入是否为有效数字而不是字符串。
这将避免警告:遇到非数字值

您应该进一步处理输入为负数浮点数数字的情况。