我正在尝试编写一个程序来检查输入的 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";
}
}
?>
答案 0 :(得分:1)
您不能分割字符串,需要检查长度。根据您的i
,ii
,iii
,iiii
等示例:
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)
检查输入是否为有效数字而不是字符串。
这将避免警告:遇到非数字值
您应该进一步处理输入为负数或浮点数数字的情况。