热搜:NVER node 开发 php

isset和empty

2024-09-05 10:55:02
isset和empty

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>


    
    



    
    

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

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