博客列表 >1变量、常量、数据类型

1变量、常量、数据类型

codes的博客
codes的博客原创
2017年07月28日 18:52:16603浏览

一、深刻理解php是弱类型语言,这也是它能高效开发的主要原因之一

二、变量和常量(默认情况下)区分大小写,但是函数不区分大小写

三、字符串可以直接拿来做变量名

    $a = 'hello';

    $b='a';

    echo $$b;  // hello

四、php中的八种数据类型

    中            英              法

    整型         integer     les entiers

    浮点型      float         nombres décimaux

    布尔型      boolean    booléen

    字符串      string        les chaînes de caractères


    数组         array         les tableaux

    对象         object       les objets


    资源         resource    les ressources

    null         null             null


五、整型

    $i = 15; // 十进制 décimal

    $i = 017; // 八进制 octal

    $i = 0xf; // 十六进制 héxadecimal

    $i = 0b1111; // 二进制 binaire

  •     php 不支持无符号

  •     win 32位或64位,PHP_INT_SIZE 返回都是4,代表4个字节,由于win不再支持64位的整型

  •     linux 64位 则返回 8,代表八个字节

  •     PHP_INT_MAX 32位 为 2147483647 environ 2 millards,

            64位 为 9223372036854775807 environ 9e18

  •     整数溢出 débordement d'entier

            如果数字超出整数范围,将被解释为float型



六、浮点型

    $float1 = 3.14; // 3.14

    $float2 = 3.14e2; // 314

    $float3 = 3.14e-1; // 0.314

    浮点数能表示的最大值大约为 1.8e308,14位数的精度

    由于一些浮点数以二进制保存时是无法精确保存的,所以取整会有误差,最大相对误差为 1.11e-16,但是非数***算误差会更大,还要考虑到复合运算的误差传递,所以不要相信浮点数结果精确到了最后一位。

    例如 floor((0.1+0.7)*10) 通常会返回 7 而不是预期中的 8


七、布尔型

    true 或 false 不区分大小写

    当转换为布尔型时 为假的有

  • 0

  • 0.0

  • 空字符串 或 字符串 “0”

  • 空数组

  • null

    字符串 “false” 是转换成布尔型为真


八、字符串

  • 单引号

        只能反义单引号本身和反斜线

  • 双引号

        可以直接解析变量和转义符

  • 定界符

  • Heredoc 结构,相当于双引号

<<<hi


hi;

        hi为标识符,可以是字母,数字,下划线,但是不能以数字开头。

        hi;作为结尾时,必须顶格,分号必须紧挨标识符,后面也不能有其他符号,只能换行


        Nowdoc 结构,相当于单引号

<<<’hi’


hi;

        用法与 Heredoc相同


  • 解析变量

        双引号可以解析变量,数组中的一个值,对象中的一个属性,但不能解析常量,复杂时可使用花括号包围变量


附一张表格,php官方手册的转义字符表

Capture.PNG

九、常量

  •     define(“MINGCHENG”, “zhi”) 定义常量,默认大小写敏感,可加入第三个变量 true 大小写不敏感 或 false 大小写敏感,默认为false

  •     defined(“MINGCHENG”) 判断常量是否定义

  •     常量不能更改或删除,如果重复定义,notice错误,只保留第一次定义的值

  •     常量为全局变量

  •     常量只可以定义 int, float, bool, string 和 null



声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议