1. NULL,0和空的区分判断

(1)0与空的区分

<?php  $a = 0;if($a==''){ echo '此判断条件不能区分';}else{ echo '此判断条件可以区分';} ?>

<?php $a = 0;if($a===''){ echo '此判断条件不能区分';}else{ echo '此判断条件可以区分';} ?>

<?php $a = 0;$b = '';if(empty($a) && empty($b)){ echo '此判断条件不能区分';}else{ echo '此判断条件可以区分';}? >

<?php $a = 0;$b = '';if((!is_null($a)) && (!is_null($b))){echo '此判断条件不能区分';}else{echo '此判断条件可以区分';} ?>

<?php $a = 0;$b = '';if(isset($a) && isset($b)){echo '此判断条件不能区分';}else{echo '此判断条件可以区分';} ?>

结论:0与空的区分判断只能使用===。

(2)空与NULL的区分

<?php $a = '';if($a==NULL){echo '此判断条件不能区分';}else{echo '此判断条件可以区分';} ?>

<?php $a = '';if($a===NULL){echo '此判断条件不能区分';}else{echo '此判断条件可以区分';?>

<?php $a = '';$b = NULL;if(empty($a) && empty($b)){echo '此判断条件不能区分';}else{echo '此判断条件可以区分';}? >

<?php $a = '';$b = NULL;if(is_null($a)){echo 1;}else{echo 2;}if(is_null($b)){echo '<br/>a';}else{echo 'b';} ?>

<?php $a = '';$b = NULL;if(isset($a)){echo 1;}else{echo 2;}if(isset($b)){echo '<br/>a';}else{echo '<br/>b';} ?>

结论:空与NULL的区分可以使用===,is_null,isset。

(3)0与NULL的区分

<?php $a = 0;if($a==NULL){echo '此判断条件不能区分';}else{echo '此判断条件可以区分';}?>

<?php $a = 0;if($a===NULL){echo '此判断条件不能区分';}else{echo '此判断条件可以区分';}?>

<?php $a = 0;$b = NULL;if(empty($a) && empty($b)){ echo '此判断条件不能区分';}else{echo '此判断条件可以区分';}?>

<?php $a = 0;$b = NULL;if(is_null($a)){ echo 1;}else{echo 2;}if(is_null($b)){echo '<br/>a';}else{echo '<br/>b';}?>

<?php $a = 0;$b = NULL;if(isset($a)){ echo 1;}else{echo 2;}if(isset($b)){echo '<br/>a';}else{echo '<br/>b';}?>

结论:0与NULL的区分可以使用===,is_null,isset。


综上,我们在区分0,空和NULL的时候首选===方法,简单实用快捷。不会因数组转换导致数据类型变化而产生差错。

关于php编程的一些小技巧的更多相关文章

  1. 25条div+CSS编程提醒及小技巧整理

    1.ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值. 2.同一个的class选择符可以在一个文档中重复出现,而id选择符却只能出现一次:对一个标签同时使用clas ...

  2. cocos2d-x编程的一些小技巧

    转自:http://blog.sina.com.cn/s/blog_61d2d3f50100zgz8.html 一.   CC_ASSERT 或 CCAssert宏 Assert - 断言 使用断言可 ...

  3. Shellcode编程小技巧

    工作需要,需要注入其他程序监控一些东西,检测到的数据通过WM_COPY 消息发送给显示窗体.(大体是这样的还没定稿) ##1 选择一个框架 ## tombkeeper/Shellcode_Templa ...

  4. 使用IntelliJ IDEA的小技巧快乐编程(1)

    前言 我很喜欢和别人讨论一些问题,有时候,在公司里,讨论这样的问题需要演示代码.常常会碰到的一种情况是(根据我的记忆这半年多来至少超过了10次),别人会打断你的演示,抛出一个问题:等等,你刚才的操作是 ...

  5. Java编程小技巧(1)——方法传回两个对象

    原文地址:Java编程小技巧(1)--方法传回两个对象 | Stars-One的杂货小窝 题目是个伪命题,由Java语法我们都知道,方法要么返回一个对象,要么就不返回 当有这样的情况,我们需要返回两个 ...

  6. 学会这些 pycharm 编程小技巧,编程效率提升 10 倍

    PyCharm 是一款非常强大的编写 python 代码的工具.掌握一些小技巧能成倍的提升写代码的效率,本篇介绍几个经常使用的小技巧. 一.分屏展示 当你想同时看到多个文件的时候: 1.右击标签页: ...

  7. iOS:小技巧(不断更新)

    记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: UIWindow * window=[[[UIApplication sharedApplication] ...

  8. 一些Python的惯用法和小技巧:Pythonic

    Pythonic其实是个模糊的含义,没有确定的解释.网上也没有过多关于Pythonic的说明,我个人的理解是更加Python,更符合Python的行为习惯.本文主要是说明一些Python的惯用法和小技 ...

  9. ( 译、持续更新 ) JavaScript 上分小技巧(一)

    感谢好友破狼提供的这篇好文章,也感谢写这些知识点的作者们和将他们整理到一起的作者.这是github上的一篇文章,在这里本兽也就只做翻译,由于本兽英语水平和编程能力都不咋地,如有不好的地方也请多理解体谅 ...

随机推荐

  1. Spring in Action 学习笔记二-DI

    装配bean 2015年10月9日 9:49             Sprng中,对象无需自己负责查找或创建其关联的其他对象.相关,容器负责吧需要相互协作的对象引用赋予各个对象. 创建应用对象之间协 ...

  2. AccountName LoginName 变更

    当AD中把AccountName改掉后,网站集不会自动同步LoginName,需要使用命令行Move-SPUser domain/A->domian/B /*2013 Claim 认证  必须加 ...

  3. Android教程收集贴

    Loader & REST Rest Loader Tutorial [github源码] [源码演示] [github作者主页] Twitter Timeline Sample for An ...

  4. java.lang.IllegalStateException:Couldn't read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.

    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx...}: java.lang.IllegalSta ...

  5. Laravel大型项目系列教程(三)之发表文章

    Laravel大型项目系列教程(三)之发表文章 一.前言 上一节教程中完成了用户管理,这节教程将大概完成发表Markdown格式文章并展示的功能. 二.Let's go 1.数据库迁移 文章模块中我们 ...

  6. 5种处理js跨域问题方法汇总(转载)

    1.JSONP跨域GET请求 ajax请求,dataType为jsonp.这种形式需要请求在服务端调整为返回callback([json-object])的形式.如果服务端返回的是普通json对象.那 ...

  7. 6-3 bash脚本编程之五 字符串测试及for循环

    1. 字符测试 ==:等号两边要有空格,否则会被认为是赋值. !=:  测试是否相等,记住如果不等为真,等为假. -n string: 测试指定字符串是否为空,空位真,不空为假. -s string: ...

  8. Activity往另外一个Activity传值,Fragment获取另外一个Activity里面的值。

    在oneActivity中实现跳转到MainActivity //intent 用来跳转另外一个MainActivity,bundle传值到MainActivity         Intent Ma ...

  9. xshell不能输入中文,显示为??

    不知不觉间发现自己使用xshell的时候不能输入中文了,输入的中文会变成"??",开始以为是编码问题,看了一下编码设置后发现没有任何问题,而且显示中文没有出现乱码问题,只是在输入的 ...

  10. JavaScript代码段整理笔记系列(二)

    上篇介绍了15个常用代码段,本篇将把剩余的15个补齐,希望对大家有所帮助!!! 16.检测Shift.Alt.Ctrl键: event.shiftKey; //检测Shift event.altKey ...