PHP中共有8种原始类型,包括4种标量类型,即boolean(布尔型)、integer(整数)、float/double(浮点型)和string(字符串型);
两种复合类型,即array(数组)和object(对象);
两种特殊类型,即resource(资源)与null。
一、标量数据类型
1.布尔型(boolean)
php中较为常用的数据类型之一,它保存一个true值或者false值,其中true和false是PHP中内部关键词。
例1:
1234567 | <?php $b = true; if ( $b == true) echo '变量$b为真!' ; else echo '变量$b为假' ; ?> |
注意:PHP中不是只有boolean值为假的,在一些特殊情况下非boolean也被认为是假,这些特殊情况为:0、0.0、"0"、空白字符串("")、只声明没有赋值的数组等。
2.字符串型(string)
字符串是连续的字符序列,由数字、字母和符号组成。字符串中的每个字符只占用一个字节。PHP中有3种定义字符串的方式,分别是单引号(')、双引号(")和界定符(<<<).
单引号:
123 | <?php $a = '字符串' ; ?> |
双引号
123 | <?php $a = "字符串" ; ?> |
不同:双引号中所包含的变量会自动被替换成实际数值,而单引号中包含的变量则会按普通字符串输出。
例2
12345 | <?php $i = "只显示一次 '' ; echo "$i" ; echo '$i' ; ?> |
两者之间的另外一处不同点是对转义字符的使用。使用单引号时,只要对单引号 ' 进行转义即可,但使用双引号(")时,还要注意"""、"$"等字符的使用。浙西特殊字符都要通过转义符""来显示。常用的转义字符如下:
和在windows系统下区别不大,都当做回车键。但在linux系统下则是两种效果,在linux中,表示换到下一行,却不会回到行首;而表示光标回到行首,但仍然在本行。
注:如果对非转义字符使用'',那么在输出是,""也会跟着一起输出。
说明:在定义简单的字符串时,使用单引号时一个更加合适的处理方式,如果使用双引号,PHP将花费一些时间来处理字符串的转义和变量的解析。因此,在定义字符串时,如果没有特别的要求,应尽量使用单引号。
界定符(<<<)
使用时后接一个标识符,然后是字符串,最后是同样的标识符结束字符串。
例3:
1234567 | <?php $i = '显示改行内容' ; echo <<<str 这和双引号没什么区别, $i 同样可以被输出来。 $i 的内容为: $i str; ?> |
注意:结束标志必须单独另起一行,并且不允许有空格。在标识符前后有其他符号或字符,也会发生错误。
3.整数(integer)
整型数据只能包含整数。
数值范围:-2147483648~+2147483647(32位操作系统)
表示:十进制、八进制(数字前必须加0)和十六进制(数字前面加0x)
例4
123456789101112131415 | <?php $str1 = 1234567890; //十进制 $str2 = 0x1234567890; //十六进制 $str3 = 0123456789; //八进制 $str4 = 01234567; //八进制 echo '数字1234567890不同进制的输出结果:' ; echo '十进制的结果是:' . $str1 . '' ; echo '十六进制的结果是:' . $str . '' ; echo '八进制的结果是:' ; if ( $str3 == $str4 ){ //判断$str3和$str4的关系 echo '$str3=$str4' . $str3 ; } else { echo '$str3 != $str4' ; } ?> |
注意:如果给定的数值超出了int型所能表示的最大范围,将会被当做float型处理,这种情况称为整数溢出。同样,如果表示式的最后运算结果超出了int型的范围,也会返回float型。
4.浮点型(float)
浮点数据类型既可以用来存储整数,也可以存储小数。精度比整数的大得多。
有效范围:1.7E-308~1.7E+308
默认有两种书写格式,一种是标准格式:3.1415 -35.8
还有一种是科学记数法格式: 3.58E1 849.72E-3
二、复合数据类型
1.数组(array)
数组是一组数据的集合,它将一系列的数据组织起来,形成一个可操作的整体。数组中可以包括很多数据,如标量数据、数组、对象、资源以及PHP中支持的其他语法结构等。
数组中的每一个数据称为一个元素,元素包括索引(键名)和值两个部分。元素的索引可以由数字或字符串组成,元素的值可以是多种数据类型。
数组的定义:
a. $array = ('value1','value2','value3'...);
b. $array[key] = 'value';
c.$array = array(key=>value1,key=>value2,....);
其中,参数key为数组元素的下标,value是数组下标所对应的元素。
2.对象(object)
编程语言方法有两种,面向过程和面向对象。对象是面向对象程序设计范型的核心概念
$obj = new Person();
三、特殊数据类型
1.资源(resource)
资源是一种特殊变量,又称句柄,保存到外部资源的一个引用。在使用资源时,系统会自动启用垃圾回收机制,释放不再使用的资源,避免内存消耗殆尽,所以,资源很少需要手工释放。
2.空值(null)
空值,特殊的值,表示没有为 该变量设置任何值。其中null和NULL效果是一样的。被赋予空值的情况:
a.没有赋任何值的变量
b.被赋值为null的变量
c.被unset()函数处理过的变量
仅是个人在学习php过程中记录的笔记,有错误的请与我联系~