zoukankan      html  css  js  c++  java
  • isset和empty以及变量自身作为条件的一些情况对比!

      虽然说这些都是非常简单的一些条件判断函数,但是把它们混在一起,在工作中往往就会很容易出现混淆!所以我决定把它们用程序过一遍!防止后面又忘记或者又把一些条件混掉了!

      

    <?php
    
        $arr = array();
        $arr2 = array('a'=>'');
        $arr3 = array('a'=>null);
    
        $d = false;
        $e = 0;
        $f = '';
        var_dump(isset($arr2['a']));
        var_dump(isset($d));
        var_dump(isset($e));
        var_dump(isset($f));
        var_dump(isset($arr));//全部为ture
        echo '<br>';
    
    //==========================================================
        $a;
        $b=null;
        $i = '0.0';
        $h = '00';
        $j = '';
        $aa = '  ';
    
        var_dump(empty($a));
        echo '<br>';
        var_dump(empty($b));
        echo '<br>+++++++++++++';
        var_dump(empty($j));
        echo '<br>++++++++++++++++<br>';
        var_dump(empty($c));//这4个都是true
        echo '<br>';
        echo 'mark';
        var_dump(isset($aa));//true
    
        echo '测试空格字符串empty';
        var_dump(empty($aa));//false
    
        echo '<br>123=============================';
        var_dump(empty($i));
        echo '<br>';
        var_dump(empty($h));
        echo '<br>22222222222222222222222';//这两个为字符串,为false
    
    //=========================================
        echo '<br>';
    
        var_dump(isset($a));
        echo '<br>';
        var_dump(isset($b));
        echo '<br>';
        var_dump(isset($c));//这3个都是false  未定义的或者定义为null,定义了为赋值的都为false!
    
    
    //=========================================================
    $x = '  ';
    $y = '';
    $z = '0';
    $zz = '00';
    
    var_dump($x);//string ,单独做条件不是false
    var_dump($y);//string,单独做条件为false
    var_dump($z);//string,单独做条件为false
    var_dump($zz);//string ,单独做条件不是false
    
    if($x){
        echo '123';
    }//会输出
    
    
    if($y){
        echo '123';
    }//不会输出
    echo '++++++++++++++++++++++++++++++++++++++<br>';
    if($z){
        echo '123';
    }//不会输出
    
    if($zz){
        echo '123';
    }//会输出
    
    
    echo '<br>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++================================';
    //多空个字符串的判断
    $bb = '   ';
    
    var_dump(trim($bb));
    
    if(trim($bb)==''){
        echo '123<br>';
    }//会输出
    
    
    
    $cc = array();
    $dd = array('a'=>'');
    $ee = array('a'=>null);
    
    if($cc){
        echo 'bbbbb123';
    }//不会输出
    
    if($dd){
        echo 'bbbbb456<br>';
    }//会输出,只要有键存在作条件就是true
    
    if($ee){
        echo 'bbbbb789';
    }//会输出,只要有键存在作条件就是true
    
    
    var_dump($cc);//array(0){} 拿空数组作条件时,为false.
    echo '<br>';
    var_dump(empty($cc));//true  空数组的empty为true
    var_dump(isset($cc));//true  空数组的isset为true,只有null为false
  • 相关阅读:
    设计模式的类型
    SQL介绍(1)
    MySQL(介绍1)
    MyBatis总结(1)
    使用SQLServer Profiler侦测死锁(转)
    SQL Server 数据库中关于死锁的分析
    Delphi内嵌汇编语言BASM精要(转帖)
    Delphi项目构成之单元文件PAS
    Delphi中Interface接口的使用方法
    Delphi项目构成之项目文件DPR
  • 原文地址:https://www.cnblogs.com/lgqtecng/p/6592653.html
Copyright © 2011-2022 走看看