0为什么不能参与运算怎样才能让0参与计算
php中null的最终值是0吗?<html>
<head>
<title>简单计算器</title>
</head>
<body>
<?php
if(isset($_POST["num1"])&&isset($_POST["num2"]))
{
if(empty($_POST["num1"])){
echo"<font color='red'>第一个操作数不能为空</font><br/>";
unset($_POST["sub"]);
} if(empty($_POST["num2"])){
echo"<font color='red'>第二个操作数不能为空</font><br/>";
unset($_POST["sub"]);
}
$oper=$_POST["oper"];
$num1=$_POST["num1"];
$num2=$_POST["num2"];
if($oper=="/"||$oper=="%"){
if($num2==0){
echo"<font color='red'>0 不能作为除数</font><br/>";
unset($_POST["sub"]);
}
}
}
?>
<table border="1" align="center" width="400">
<form action="" method="post">
<caption><h2>简单计算器</h2></caption>
<tr>
<td><input type="text" size="10" name="num1" value="<?php
if(!empty($num1))
echo $num1;
?>"></td>
<td>
<select name="oper">
<option value="+" <?php
if($_POST["oper"]=="+")
echo "selected";
?>>+</option>
<option value="-" <?php
if($_POST["oper"]=="-")
echo "selected";
?>>-<option>
<option value="*" <?php
if($_POST["oper"]=="*")
echo "selected";
?>>*<option>
<option value="/" <?php
if($_POST["oper"]=="/")
echo "selected";
?>>/<option>
<option value="%" <?php
if($_POST["oper"]=="%")
echo "selected";
?>>%<option>
</select>
</td>
<td><input type="text" size="10" name="num2" value="<?php
if(!empty($num2))
echo $num2;
?>"></td>
<td><input type="submit" name="sub" value="计算"></td>
</tr>
<?php
if(isset($_POST["sub"])&&!empty($_POST["sub"])){
$sum=0;
switch($oper)
{
case "+":
$sum=$num1+$num2;
break;
case "-":
$sum=$num1-$num2;
break;
case "*":
$sum=$num1*$num2;
break;
case "/":
$sum=$num1/$num2;
break;
case "%":
$sum=$num1%$num2;
break;
}
echo"<tr><td colspan='4' align='center'>";
echo"计算结果是:$num1 $oper $num2=$sum";
echo"</td></tr>";
}
?>
</form>
</table>
</body>
</html>
php中null的最终值是0吗?<html>
<head>
<title>简单计算器</title>
</head>
<body>
<?php
if(isset($_POST["num1"])&&isset($_POST["num2"]))
{
if(empty($_POST["num1"])){
echo"<font color='red'>第一个操作数不能为空</font><br/>";
unset($_POST["sub"]);
} if(empty($_POST["num2"])){
echo"<font color='red'>第二个操作数不能为空</font><br/>";
unset($_POST["sub"]);
}
$oper=$_POST["oper"];
$num1=$_POST["num1"];
$num2=$_POST["num2"];
if($oper=="/"||$oper=="%"){
if($num2==0){
echo"<font color='red'>0 不能作为除数</font><br/>";
unset($_POST["sub"]);
}
}
}
?>
<table border="1" align="center" width="400">
<form action="" method="post">
<caption><h2>简单计算器</h2></caption>
<tr>
<td><input type="text" size="10" name="num1" value="<?php
if(!empty($num1))
echo $num1;
?>"></td>
<td>
<select name="oper">
<option value="+" <?php
if($_POST["oper"]=="+")
echo "selected";
?>>+</option>
<option value="-" <?php
if($_POST["oper"]=="-")
echo "selected";
?>>-<option>
<option value="*" <?php
if($_POST["oper"]=="*")
echo "selected";
?>>*<option>
<option value="/" <?php
if($_POST["oper"]=="/")
echo "selected";
?>>/<option>
<option value="%" <?php
if($_POST["oper"]=="%")
echo "selected";
?>>%<option>
</select>
</td>
<td><input type="text" size="10" name="num2" value="<?php
if(!empty($num2))
echo $num2;
?>"></td>
<td><input type="submit" name="sub" value="计算"></td>
</tr>
<?php
if(isset($_POST["sub"])&&!empty($_POST["sub"])){
$sum=0;
switch($oper)
{
case "+":
$sum=$num1+$num2;
break;
case "-":
$sum=$num1-$num2;
break;
case "*":
$sum=$num1*$num2;
break;
case "/":
$sum=$num1/$num2;
break;
case "%":
$sum=$num1%$num2;
break;
}
echo"<tr><td colspan='4' align='center'>";
echo"计算结果是:$num1 $oper $num2=$sum";
echo"</td></tr>";
}
?>
</form>
</table>
</body>
</html>
改成
if( empty($_POST['num1']) && $_POST['num1'] !== 0 )empty :
bool empty ( mixed $var )
如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。比较运算符:
$a == $b 等于 TRUE,如果 $a 等于 $b。
$a === $b 全等 TRUE,如果 $a 等于 $b,并且它们的类型也相同。(PHP 4 引进)
$a != $b 不等 TRUE,如果 $a 不等于 $b。
$a !== $b 非全等 TRUE,如果 $a 不等于 $b,或者它们的类型不同。(PHP 4 引进)
改成
if( empty($_POST['num1']) && $_POST['num1'] !== 0 )这样还是实现不了呀