美文网首页
数据类型和常量

数据类型和常量

作者: code_nerd | 来源:发表于2017-10-27 09:24 被阅读0次

    手册:http://php.net/manual/zh/language.types.intro.php

    数据类型

    • 标量 浮点,整型,字符串,布尔
    • 复合 数组,对象,可调用
    • 特殊 null,资源

    字符串

    定义方式

    • 单引号:只能转译 ' \ 单引号效率高
    • 双引号:能对特殊字符进行转译,同时也能解析变量,一般用{}将变量包裹起来,
    • heredoc语法结构:结构就象是没有使用双引号的双引号字符串,这就是说在 heredoc 结构中单引号不用被转义,但是上文中列出的转义序列还可以使用。
    • nowdoc语法结构:Nowdoc 结构是类似于单引号字符串的。一个 nowdoc 结构也用和 heredocs 结构一样的标记 <<<, 但是跟在后面的标识符要用单引号括起来,即 <<<'EOT'

    示例代码

    //单引号
    $a = 'i\'ll win \\';
    //输出 i'll win \;
    
    //双引号
    $a ='aaa';
    $b="bbb{$a}";//$b="bbb$a";
    print_r($b);
    //两个输出结果是一致的
    'bbbaaa'
    
    // heredoc结构
    $bar = <<<EOT
    bar \n dsds
    EOT;
    var_dump($bar);
    
    // nowdoc结构
    $bar = <<<'EOT'
    bar \n dsds
    EOT;
    var_dump($bar);
    

    浮点

    由于内部表达方式的原因,比较两个浮点数是否相等是有问题的。
    要测试浮点数是否相等,要使用一个仅比该数值大一丁点的最小误差值。该值也被称为机器极小值(epsilon)或最小单元取整数,是计算中所能接受的最小的差别值。

    (0.1+0.7 == 0.8)//这个在php中为false
    //用bcmath 去处理浮点数的运算
    

    布尔类型

    false的情况
    0、0.0、false、array()、null、'0'、''


    数组

    PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。

    超全局数组

    $GLOBALS、$_GET、$_POST、$_REQUEST、$_SESSION,$_COOKIE,$_SERVER,$_FILES,$_ENV


    整型

    integer 是集合 ℤ = {..., -2, -1, 0, 1, 2, ...} 中的某个数。


    常量

    常量是一个简单值的标识符(名字)。如同其名称所暗示的,在脚本执行期间该值不能改变(除了所谓的魔术常量,它们其实不是常量)。常量默认为大小写敏感。传统上常量标识符总是大写的。
    const 语言结构,速度更快,可以定义类常量,使用 const 关键字定义常量必须处于最顶端的作用区域
    define 函数,不能定义类常量

    常量和变量的不同

    常量前面没有美元符号($);
    常量只能用 define() 函数定义,而不能通过赋值语句;
    常量可以不用理会变量的作用域而在任何地方定义和访问;
    常量一旦定义就不能被重新定义或者取消定义;
    常量的值只能是标量。

    相关文章

      网友评论

          本文标题:数据类型和常量

          本文链接:https://www.haomeiwen.com/subject/qeqrpxtx.html