zoukankan      html  css  js  c++  java
  • isset()和empty()到底区别是什么。

    一招鲜吃遍天,自从看了燕十八关于PHP变量内部机制的那课,解释了一些很久的疑惑,知其然还知其所以然,果然是学习的最佳途径,比背下来要重要N倍。

    我们知道一个变量有变量表的位置,然后他指向自己的内存地址,

    <?php
    //$a='';//YES you variable $a YES $a is empty
    //$a=NULL;//YES you variable $a YES $a is empty
    //$a=0;//YES you variable $a YES $a is empty
    if(isset($a))
    echo 'YES you variable $a<br>';
    else
    echo 'sorry you do not have variable $a<br>';
    
    if(empty($a))
    echo 'YES $a is empty';
    else
    echo 'sorry $a is full';
    ?>

    通过上面这个实验我总结出一个结论。

    isset()检查的是变量的内存地址,只有这个变量没有他对应的内存,isset就返回false,什么时候变量没有对应的内存地址,第一.变量根本就没有设置,第二.变量的值为NULL。

    empty 检查的是变量对应内存的内容,而只要这个内容转换为boolean,只要是转换后是false,他就返回true,所以‘’,0,null包括没有设置的变量都会被认为是空。

    如此理解肾好,比死记硬背不知道要高到哪里去了。

  • 相关阅读:
    HTML笔记
    Android自定义View 自定义组合控件
    CSS 笔记
    HTML 4.01 快速参考
    MSP430单片机之中断服务
    MSP430单片机之RTC实时时钟
    Centos7.4内核符号地址查找函数的BUG
    珍惜世上的五个人
    实习
    毕业后的五年拉开大家差距的原因在哪里
  • 原文地址:https://www.cnblogs.com/saw2012/p/3120337.html
Copyright © 2011-2022 走看看