>  기사  >  백엔드 개발  >  isset和empty

isset和empty

WBOY
WBOY원래의
2016-06-23 14:02:34847검색

if(isset($_POST["pageLimit"]) && !empty($_POST["pageLimit"])){
    $pageLimit=$_POST["pageLimit"];
}else{
    $pageLimit=0;
}
前面得isset 是不是多余了,
有人说
当没有pagelimit字段时 直接用empty判断 会抛异常 ,
为什么我看不到异常,还是需要php.ini得特别设置?


回复讨论(解决方案)

你把error_reporting设置为E_ALL再看看呢

你是说
if(!empty($_POST["pageLimit"])){
没有异常吗?
ini_set('error_reporting', E_ALL);
就有了

empty 和isset 最大的区别就是empty 判断为0 是也会返回true if(isset($_POST["pageLimit"]) && !empty($_POST["pageLimit"])){
    $pageLimit=$_POST["pageLimit"];
}else{
    $pageLimit=0;
}
前面得isset 是不是多余了,
有人说
当没有pagelimit字段时 直接用empty判……

你是说
if(!empty($_POST["pageLimit"])){
没有异常吗?
ini_set('error_reporting', E_ALL);
就有了

nbsp;HTML>


    
    



    
    

ini_set('error_reporting', E_ALL);
    if(empty($_POST["zz"])){
        echo 1;
    }
?>


貌似没抛出异常。

ini_set('error_reporting', E_ALL);
不起作用?那就
error_reporting(E_ALL);

ini_set('error_reporting', E_ALL);
不起作用?那就
error_reporting(E_ALL);

都没动静,
你可以自己test

噢,被调整了。低版本是不行的

if(isset($_POST["pageLimit"]) && !empty($_POST["pageLimit"])){
    $pageLimit=$_POST["pageLimit"];
}else{
    $pageLimit=0;
}
按照你的代码,前面那个确实可以不用写。
就像楼上说的empty(0)也返回真,但是你的$pageLimit=0;,因此isset完全可以去掉

兄台,你学到一定程序,就晓得二者的不同、和妙用了。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.