zoukankan      html  css  js  c++  java
  • PHP ! 非运算符 与 if 判断深入研究

    !非 !x 如果x不为true则返回true。

    我们经常用!进行一些判断。

    看实例,我们发现经过‘非’处理之后,都转化成了bool值。用于if判断很有用。

    var_dump(!0); // bool(true)
    var_dump(!false); // bool(true)
    var_dump(!array()); // bool(true)
    var_dump(!null); // bool(true)
    var_dump(!''); // bool(true)
    var_dump(!'0'); // bool(true)
    
    
    var_dump(!1); // bool(false)
    var_dump(!true); // bool(false)
    var_dump(!'1'); // bool(false)
    var_dump(!'null'); // bool(false)
    var_dump(!'false'); // bool(false)
    var_dump(!'true');  // bool(false)
    

    看看它们原来的类型

    var_dump(0); // int(0)
    var_dump(false); // bool(false)
    var_dump(array()); // array(0) {}
    var_dump(null); // NULL
    var_dump(''); // string(0) ""
    var_dump('0'); // string(1) "0"
    
    var_dump(1); // int(1)
    var_dump(true); // bool(true)
    var_dump('1'); // string(1) "1"
    var_dump('null'); // string(4) "null"
    var_dump('false'); // string(5) "false"
    var_dump('true');  // string(4) "true"
    

    强制转化为bool后的类型

    var_dump((bool)0); // bool(false)
    var_dump((bool)false); // bool(false)
    var_dump((bool)array()); // bool(false)
    var_dump((bool)null); // bool(false)
    var_dump((bool)''); // bool(false)
    var_dump((bool)'0'); // bool(false)
    
    var_dump((bool)1); // bool(true)
    var_dump((bool)true); // bool(true)
    var_dump((bool)'1'); // bool(true)
    var_dump((bool)'null'); // bool(true)
    var_dump((bool)'false'); // bool(true)
    var_dump((bool)'true');  // bool(true)
    

    小结:'非'处理,就是把任何类型先强制转化为bool之后,如果是true,就返回false。如果是false,就返回true。用于if条件判断很有效!

    if (0) { // 不通过
    	echo "通过";
    } else  {
    	echo "不通过";
    }
    
    if (false) { // 不通过
    	echo "通过";
    } else  {
    	echo "不通过";
    }
    
    if (array()) { // 不通过
    	echo "通过";
    } else  {
    	echo "不通过";
    }
    
    if (null) { // 不通过
    	echo "通过";
    } else  {
    	echo "不通过";
    }
    
    if ('') { // 不通过
    	echo "通过";
    } else  {
    	echo "不通过";
    }
    
    if ('0') { // 不通过
    	echo "通过";
    } else  {
    	echo "不通过";
    }
    
    if (1) { // 通过
    	echo "通过";
    } else  {
    	echo "不通过";
    }
    
    if (true) { // 通过
    	echo "通过";
    } else  {
    	echo "不通过";
    }
    
    if ('1') { // 通过
    	echo "通过";
    } else  {
    	echo "不通过";
    }
    
    if ('null') { // 通过
    	echo "通过";
    } else  {
    	echo "不通过";
    }
    
    if ('false') { // 通过
    	echo "通过";
    } else  {
    	echo "不通过";
    }
    
    if ('true') { // 通过
    	echo "通过";
    } else  {
    	echo "不通过";
    }
    

    小结: 由上述例子可以看出,if将任何类型转化成bool型,进行判断,字符串一般都是true,'0'除外!

  • 相关阅读:
    free命令查看内存使用情况(转载)
    php生成随机密码(php自定义函数)转自先锋教程网
    php随机密码函数的实例代码
    php高级面试题知识点(转载)
    php经典面试题与答案(转先锋教程网)
    react-native run-ios “Could not find iPhone X simulator”
    记录CentOS 7.4 上安装MySQL&MariaDB&Redis&Mongodb
    asp.net core webapi/website+Azure DevOps+GitHub+Docker
    从头认识一下docker-附带asp.net core程序的docker化部署
    [aspnetcore.apidoc]一款很不错的api文档生成工具
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/5809165.html
Copyright © 2011-2022 走看看