八种原始类型,单双引号的区别以及isset empty有什么区别

来源:互联网 发布:js强制刷新页面 编辑:程序博客网 时间:2024/05/16 06:54
数据类型
    PHP支持八种原始类型。
       四种标量类型:
         1:布尔型(boolean)
         2:整型(integer)
         3:浮点型(float)(浮点数,也作double)
         4:字符串(srting)
       两种复合类型:
         1:数组(Array)
         2:对象(Object)
       最后两种特殊类型:
         1:资源(Resource)
         2:NULL


单双引号的区别
    //1,双引号可以解析变量,单引号不能解析变量
    $a=100;
    $str = "abc $a cde";//双引号可以解析变量
    $str = 'abc $a cde';//单引号不能解析变量

    //2,双引号当中的变量需要使用特殊字符隔开,特殊字符会被原样输出,除了{}
    $a = 100;
    $str = "abc$acde";//abc
    $str = "abc~$a~cde"//a~100~cde
    $str = "abc{$a}cde"//a100cde
    echo $str;

    //3,双引号和单引号当中如果包含自己,其中的双引号或者单引号需要转义字符来转义
    $str = "ab\"cde\"fg";//ab"cde"fg
    $str = 'ab\'cde\'fg';//ab'cde'fg
    echo $str;

    //4,单引号和双引号可以互相嵌套
    $str = "ab'cde'fg";//ab'cde'fg
    $str = 'ab"cde"fg';//ab"cde"fg
    echo $str;

    //5双引号中可以包含单引号,单引号当中包含变量,变量可以被解析,单引号会被原样输出
    $a = 100;
    $str = "abc'$a'defg";//abc'100'defg
    echo $str;

    //6,双引号可以解析转义字符,单引号不能解析转义字符(除了单引号和反斜线本身)
    $str = "abc\ndefg"//可以换行
    $str = 'abc\ndefg'//abc\ndefg
    $str = 'abc\\ndefg'//abc\ndefg
    echo $str;

    //7,变量和字符串链接,变量和变量连接,字符串和字符串连接,需要使用.来连接
    $a = "abc";
    $str = "cde";
    echo $a.$str;

    //8,单引号的效率高于双引号



浮点类型:
    浮点类型不能精确运算

NULL
    什么情况下,变量会被定义为NULL?
    1,未定义的变量
    2,直接赋值为NULL
    3,unset销毁的变量

//1,如何检测一个变量是否被定义,
isset();//检测一个变量是否被定义// isset为假: 1,直接定义为NULL 2,未定义的变量为假 3,unset销毁的变量为假
$a = 100;
var_dump(isset($aa));

//2,如何检测一个变量是否为空
$a = 100;//false;
$a = array();//true
var_dump(empty($a));//判断一个变量是否为空

//3,isset empty有什么区别?
issset为假的情况:
$a = NULL;//a,直接赋值为NULL的为假
          //b,未定义的变量为假
$b=100;
unset($b);//c,unset销毁的变量
var_dump(isset($b));

empty为真的情况:
$a = 0;     //1,整型0会被判断为空
$a = 0.0;   //2,浮点类型0.0也会判断为空
$a = "";    //3,空字符串
$a = "0";   //4,0字符串
$a = false; //5,布尔的false
$a = array();//6,空数组
$a = null    //7 ,NULL
var_dump(empty($a));

//!,isset empty有什么区别?
a)Isset是用来检测一个变量是否被设置(定义)
b)Empty是用来检测一个变量是否为空
c)Isset函数在NULL的三种情况下为假
    1,未定义的变量
    2,直接赋值的NULL
    3,Unset销毁的变量
d)Empty函数在false的七种情况下为真
    1,整型0
    2,浮点类型0.0
    3,布尔类型false
    4,字符串类型 空字符串“” 0字符串“0”
    5,数组类型 array()
    6,NULL