阅读:3666回复:0
PHP的数据类型8种原始类型
美元符号$是变量的标识符,所有变量都是以$符号开头的,无论是声明变量还是调用变量,都应使用$符号。
PHP一共支持8种原始类型: 1、boolean (布尔型):取值只有 true 或 false;true和false是PHP的内部关键字。 通常布尔型变量都是应用在条件或循环语句的表达式中。在PHP中,不是只有false值才为假,在一些特殊情况下boolean值也被认为是false。这些特殊情况为:0、0.0、"0"、空白字符串("")、只声明没有复制的数组等。 2、integer (整型): 整型数据类型只能包含整数。可以用十进制、八进制、十六进制来表示。八进制的数字前必须加0,十六进制需要加0x。 注意1:如果在八进制中出现了非法数字(8和9),则后面的数字会被忽略掉。 注意2:如果给定的数值超出了int型所能表示的最大范围(-2147483648~+2147483647),将会被当作float型处理,这种情况称为整数溢出。同样,如果表达式的最后运算结果超出了int型的范围,也会返回float型。 3、float / double (浮点型): 浮点数据类型可以用来存储数字,也可以保存小数。它提供的精度比整数大得多。在32位的操作系统中,有效的范围是 1.7E-308~1.7E+308。在PHP4.0以前的版本中,浮点型的标识为double,也可以叫做双精度浮点数,两者没有区别。 浮点型数据默认有两种书写格式, 一种是标准格式:3.1415 -35.8 一种是科学记数法格式:3.58E1 849.72E-3 浮点型的数值只是一个近似值,所以要尽量便面浮点数型数值之间比较大小,因为最后的结果往往是部准确的。 4、string (字符串): 字符串是连续的字符序列,由数字、字母和符号组成。字符串中的每个字符只占用一个字节。在PHP中,有3种定义字符串的方式,分别是单引号(')、双引号(")和界定符(<<<)。 单引号和双引号的不同之处在于,双引号中所包含的变量会自动被替换成实际数值,而单引号中包含的变量则按普通字符串输出。 单引号和双引号的另一处不同点:对转义字符的使用。使用单引号时,只要对单引号“'”进行转义即可。但使用双引号(")时,还要注意“"”、“$”等字符的使用。这些特殊字符都要通过转义符“\”来显示。 在定义简单的字符串时,使用单引号是一个更加合适的处理方式。如果使用双引号,PHP将花费一些时间来处理字符串的转义和变量的解析。 转义字符: \n 换行 \r 回车 \t 水平制表符 \\ 反斜杠 \$ 美元符号 \' 单引号 \" 双引号 \[0-7]{1,3} 此正则表达式序列匹配一个用八进制符号表示的字符,如\467 \x[0-9A-Fa-f]{1,2} 此正则表达式序列匹配一个用十六进制符号表示的字符,如\x9f 界定符(<<<):在使用时后接一个标识符,然后是字符串,最后是同样的标识符结束字符串。例如: <?php $str='界定符示例'; //声明变量$str echo <<str //界定符开始 界定符和双引号没有什么区别,\$str同样可以被输出来。<p> //输出字符串 \$str的内容为:$str //输出变量$str str; //界定符结束 ?> 结束标识符必须单独另起一行,并且不允许有空格。在标识符前后有其他符号或字符,也会发生错误。上面例子中的注释部分在实用中一定不要输入,否则会出现错误提示。 5、array (数组): 数组是一组数据的集合,它把一系列数据组织起来,形成一个可操作的整体。数组中可以包括很多数据,如标量数据、数组、对象、资源以及PHP中支持的其他语法结构等。 数组中的每个数据成为一个元素,元素包括索引(键名)和值两个部分。元素的索引可以由数字或字符串组成,元素的值可以是多钟数据类型。定义数组的语法格式: $array=array('value1','value2',......); $array[key]='value'; $array=array(key1=>value1,key2=>value2,......); 其中,参数key是数组元素的下标,value是数组下标所对应的元素。示例如下: <?php $arr1=array('This','is','an','example'); $arr2[0]='tempname'; $arr3=array(1=>'You',2=>'are','the'=>'the','str'=>'best'); echo $arr1[0].' '; echo $arr2[0].' '; echo $arr3['the'].' '; ?> 声明数组后,数组中的元素个数还可以自由更改。只要给数组赋值,数组就会自动增加长度。 6、object (对象):编程语言所应用到的方法有两种:面向过程和面向对象。 7、resource (资源):在使用资源时,系统会自动启用垃圾回收机制,释放不再使用的资源,避免内存消耗殆尽。 8、null (空值): 空值,表示没有为该变量设置任何值,空值(null)不区分大小写。 被赋予空值的情况有以下3种: a、还没有赋任何值 b、被赋值null c、被unset()函数处理过的变量 实例: $string1=null; $string3='str'; if(is_null($string1)){ echo 'string1 is null '; } if(is_null($string2)){ echo 'string2 is null '; } unset($string3); if(is_null($string3)){ echo 'string3 is null '; } 运行结果: string1 is null Notice: Undefined variable: string2 in E:\PHPnow\htdocs\test2.php on line 36 string2 is null Notice: Undefined variable: string3 in E:\PHPnow\htdocs\test2.php on line 40 string3 is null 说明:is_null()函数是判断变量是否为null,该函数返回一个boolean型,如果变量为null,则返回true,否则返回false。unset()函数用来销毁指定的变量。从PHP4开始,unset()函数就不再有返回值,所以不要试图获取或输出unset()。 上面的错误是没有定义$string2, unset($string3)没有返回值,等同于后面没有定义$string3。 检测数据类型: is_bool 检查变量是否是布尔类型 is_bool(true)、isbool(false) is_string 检查变量是否是字符串类型 is_string('string')、is_string(1234) is_float / is_double 检查变量是否为浮点类型 is_float(3.1415)、is_float('3.1415') is_integer / is_int 检查变量是否为整数 is_integer(34)、is_integer('34') is_null 检查变量是否为null is_null(null) is_array 检查变量是否为数组类型 is_array($arr) is_object 检查变量是否为一个对象类型 is_object($obj) is_numeric 检查变量是否为数字或由数字组成的字符串 is_numeric('5')、is_numeric('abcd123') |
|