一个计算器小程序,红字部分用empty,结果显示正常,换成isset ,就不正常了.isset和empty在这个例子中有啥区别了,为什么会出现这种情况?
// 接收num1和num2
if( empty($_post)){
$r='请输入数字';
}else{
$num1 = isset($_post['num1']) ? (int)$_post['num1'] : 0;
$num2 = isset($_post['num2']) ? (int)$_post['num2'] : 0;
// 接收运算符
$yunsuan=isset($_post['yunsuan'])?$_post['yunsuan']:'+';
switch ($yunsuan) {
case '+':
$r=$num1+$num2;
break;
case '-':
$r=$num1-$num2;
break;
case '*':
$r=$num1*$num2;
break;
case '/':
$r=$num1/$num2;
break;
default:
$r='请输入数字';
break;
}
}
?>
nbsp;html>
http://www.jb51.net/article/24666.htm
if(empty($_POST)){
与
if(!isset($_POST)){
效果是一样的
$_POST 是超全局变量,由 php 内核产生,并不管是否是 post 提交
所以 isset($_POST) 恒为真
如果你发现 isset($_POST) 为假了,那就表示你 post 提交的数据的大小超过了 php 的默认值
显然这是严重的错误
isset:是否存在这个变量
empty:变量是否为null
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号