zoukankan      html  css  js  c++  java
  • 细说PHP5.4 变量的类型

          变量类型是指保存在该变量中的数据类型。计算机操作的对象是数据在计算编程语言世界里,每一个数据也都有它的类型,具有相同类型的数据才能彼此操作。例如书柜是装书用的、大衣柜是放衣服用的、保险柜是存放贵重物品的、档案柜式存放文件用的......

          PHP中提供了一个不断扩充的数据类型集,可以将不同数据保存在不同的数据类型中。但PHP语言是一种弱类型检查的语言。和其他语言不同的是,变量或者常量的数据类型由上下文决定。在强类型语言中,变量要先指定类型,然后才可以存储对应指定类型的数据。而PHP等若类型语言中,变量的类型是有存储的数据据决定的。例如,强类型语言就好比在制作一个柜子之前,就要决定这个柜子是什么类型的柜子,如果确定了是书柜,那么就只能用做装书用。而在弱类型语言中,同一个柜子,你用来装书它就是书柜,用来装衣服它就是衣柜,具体什么类型有存放的内容决定。

    5.4.1 类型介绍

    变量有多种类型,PHP中支持以下八种原始类型,为了确保代码的易读性,本书中还介绍了一些伪类型,例如mixed、number、callback。

    1. boolean (布尔型)
    2. integer (整形)
    3.  float (浮点型,也称double)
    4. string (字符串)
    5. array (数组)
    6. object (对象)
    7. resource (资源)
    8. NULL

    变量的类型通常不是由程序员设定的,确切地说,是由PHP根据该变量使用的上下文在运行时决定的。如果想查看某个表达式的值和类型,可以使用函数var_dump()。

    1 <?php
    2     $bool = TRUE;          //一个布尔型
    3     $str = "foo";          //一个字符串类型
    4     $int = 12;             //一个整型
    5     
    6     var_dump($bool);       //直接输出变量$bool的类型和值bool(true)
    7     var_dump($str);        //直接输出变量$str的类型和值string(3) "foo"
    8     var_dump($int);        //直接输出变量$int的类型和值 int(12)
    9 ?>

     5.4.2 布尔型(boolean)

          布尔型是PHP中标量类型之一,这是最简单的类型。boolean表达了TRUE或FALSE。即“真”或“假”。在PHP进行关系运算(或称比较运算)以及布尔运算(或称逻辑运算)时,返回的都是布尔结果,它是构成PHP逻辑控制的判断依据。

          在PHP中布尔型不光是只有TRUE或FALSE两个值,当运算符,函数或者流程控制需要一个boolean参数时,任何类型的值PHP都会自动转换成布尔型的值。以下值被认为是FLASE,所以其他值都被认为是TRUE(包括任何资源)。

    • 布尔值FALSW。
    • 整形值0(零)为假,-1和其他非零值(不论正负)一样,被认为是TRUE。
    • 浮点型值0.0(零)。
    • 空白字符串和字符串"0"。
    • 没有成员变量的数组。
    • 没有单元的对象(仅适用于PHP4)。
    • 特殊类型BULL(包括尚未设定的变量)。
     1 <?php
     2     var_dump((bool) "");               //bool(false)
     3     var_dump((bool) 1);                //bool(true)
     4     var_dump((bool) -2);               //bool(true)
     5     var_dump((bool) "foo");            //bool(true)
     6     var_dump((bool) 2.3e5);            //bool(true)
     7     var_dump((bool) array(12));        //bool(true)
     8     var_dump((bool) array());          //bool(false)
     9     var_dump((bool) "false");          //bool(true)
    10 ?>

    5.4.3 整形(integer)

          整形也是PHP中标量类型之一,整型变量用于存储整数,例如:{...,-2,-1,0,1,2,...}中的一个数。在计算机语言中,整形数据不仅是在前面加上可选的符号(+或者-)表示整数或者负数,也不是只有我们常用的十进制数。还可以用十六进制或八进制符号指定,如果用八进制符号,数字前必须加上"0"(零),用十六进行符号前必须加上“0x”。声明整形数据如下所示:

    1 <?php
    2     $int = 1234;    //十进制数
    3     $int = -123;    //一个负数
    4     $int = 0123;    //八进制数(等于十进制的83)
    5     $int = 0x1A;    //十六进制数(等于十进制的26)
    6 ?>

          其中八进制、十进制和十六进制,都可以用“+”或“-”开头来表示数据的正负,其中“+”都可以省略。八进制与十进制一致,但由0~7的数字序列组成。十六进制由0~9的数字或A~F的字母组成的序列。但在表达式中计算的结果均以十进制数字输出。

          整型数值有最大的使用范围,整形数的字长和平台有关,对于32位的操作系统而言,最大值整数位二十多亿,具体为2147483647。PHP不支持无符号整数,所以不像其他语言那样将整数都变成正数,也就不能将最大值翻一倍。整形的最小值为-2147483648。如果给定的一个数超过了integer的这个范围,将会解释为float。同样,如果执行的运算结果超出了integer这个范围,也会返回float。

    <?php
        $large_number = 2147483647;
        var_dump($large_number);         //输出为:int(2147483647)
        
        $large_number = 2147483648;
        var_dump($large_number);         //输出为:float(2147483648)
        
        var_dump(0x80000000);            //输出为:float(2147483648)
        
        $million = 1000000;
        $large_number = 50000*$million;
        var_dump($large_number);         //输出为:float(50000000000)
    ?>
  • 相关阅读:
    (原)win7 下安装maven3.3
    (原)Linux下安装tomcat
    (原)Linux下 安装jdk8
    gradle 使用eclipse debug
    (原)Win7下Tomcat配置文件基本配置及环境变量配置
    (原)win7下JDK1.7安装
    (原)装饰模式
    (转)MySql与Java的时间类型
    代码重构
    08-17工作总结
  • 原文地址:https://www.cnblogs.com/doitjust/p/6250492.html
Copyright © 2011-2022 走看看