Home  >  Article  >  Backend Development  >  isset和empty

isset和empty

WBOY
WBOYOriginal
2016-06-23 14:02:34847browse

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完全可以去掉

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn