if($_POST[submit])与 if(isset($_POST[submit])) 的区别

if(isset($_POST['submit'])){
            echo "已经点了submit";
    }

 

if($_POST['submit']){
        echo "已经点了submit";
}

这两段代码有何区别?哪个效率高?

个人认为if(isset($_POST['submit']))效率高

$_POST['submit']是为了检验submit按钮有没有提交,也即是是初次打开表单(还没填写数据没提交),还是打开表单填写数据提交后

isset是为了验证$_POST['submit']是否初始化变量,在PHP环境一些设置警报类型中,如果没有isset检测会警报的

如果不加的话,环境编译页面时,就会是检查环境php.ini中的警报类型,来个判断是不警报,这样显然会比有isset时效率低上一些!


--还不明,你可以设下你的php.ini试下

在 php.ini 中的 error配置下错误显示方式
error_reporting=E_ALL
就会在没有加isset时警报 (记住修改设置是要重启环境的)


把error_reporting这个设为
error_reporting = E_ALL & ~E_NOTICE

就不会警报
--
你加上isset想必就不会来检查这个php.ini的error_reporting配置了!

我认为只有一种情况下他们会有不同,就是当 $_PSOT['submit']=""时,也就是$_PSOT['submit']是空字符串时,isset($_PSOT['submit'])值为 true,if(isset($_PSOT['submit']))判断为真,而if($_PSOT['submit'])判断为假,这是由于php的类 型戏法决定的。如果你的一个<form>的<input  type='submit'  name='submit'  value=''>这么写,那么当你提交后仅仅用if($_PSOT['submit'])判断的时候会if判断为假,这时候就与你的初衷就是不符 合的,if(isset($_PSOT['submit']))更严谨,把这种人为疏忽的特殊情况排除掉 ,当然这种疏忽一眼就能看见,value=''时提交按钮显示是个空白的按钮,不会有人在页面上有个空白按钮来提交表单吧。。。

前者不判断提交的内容是否为真,只检查变量是否存在。
后者判断提交的内容是否为真,即提交的内容不是空或者0时为真。

转载于:https://www.cnblogs.com/qbx1986/archive/2012/07/28/2613683.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值