首頁 > 後端開發 > php教程 > isset和empty的问题

isset和empty的问题

WBOY
發布: 2016-06-23 13:15:36
原創
980 人瀏覽過

一个计算器小程序,红字部分用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>
 
 


 
  计算器小程序
 
 
 

结果:


 

  数字1:
 

  数字2:
 

  运算符:
  +
-
*
/



 


 
 


回复讨论(解决方案)

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板