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

解决方案 »

  1.   

    你把error_reporting设置为E_ALL再看看呢
      

  2.   

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

  3.   

    empty 和isset 最大的区别就是empty 判断为0 是也会返回true
      

  4.   


    <!DOCTYPE HTML>
    <html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
    <form action="xx.php" method="post">
        <input type="text" name="xx" id="">
        <input type="text" name="yy" id="">
    </form>
    <?php
    ini_set('error_reporting', E_ALL);
        if(empty($_POST["zz"])){
            echo 1;
        }
    ?>
    </body>
    </html>
    貌似没抛出异常。
      

  5.   

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

  6.   


    都没动静,
    你可以自己test
      

  7.   

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