PHP数据类型分为:标量数据类型,复合数据类型,特殊数据类型

数据类型分为:标量数据类型,复合数据类型,特殊数据类型

1.标量数据类型:是数据结构中最基本单元,只能储存一个数据,包括boolean,string,integer,float

1.1string类型:

定义字符串与三种方式:单引号(‘)、双引号(“)、界定符(<<<)单引号和双引号是常使用定义方式,区别是双引号中包含的变量会自动被替换成实际数值,而单引号包含的变量则按普通字符串输出。

<?php

$i="welcome to network1024";

echo '$i';   //将输出$i

echo "$i";   //输出welcome to network1024

?>

 

转义字符:


序列                        含义

\n                            换行

\r                             回车

\t                             水平制表符

\\                             反斜线\

\$                            符号$

\’                             符号’

\”                             符号”

\[0-7]{1,3}               此正则表达式序列匹配一个用八进制符号表示的符号

\x[0-9A-Fa-f]{1-2}   此正则表达式序列匹配一个用十六进制符号表示的符号

注意:\n和\r在windows系统下没区别,都可当回车符;Linux下\n表示光标回到行首,仍在本行,\r则换到下一行,却不会回到行首。

<?php

$i=<<<network1024 //必须另起一行

welcome to network1024

network1024;

echo "$i"; //输出welcome to network1024

?>

1.2integer类型:

32位系统范围:-2147483648~2147483647,如果超出范围发生整数溢出,当float处理,返回float类型;

表示方式:十进制:123;八进制:0123;十六进制:0x123;

1.3float类型:

32位系统范围:1.7E-308~1.7E+308

表示方式:标准格式:3.141592654;科学计数法试:3141592654E-9

注意:浮点数数值只是一个近似值,所以尽量避免浮点数间比较大小,因为最后的结果往往不准确。

 

2复合数据类型:

包括数组array和对象object

数组类型:是一个数据集合,可以包括多种数据:标量数据、数组、对象、资源、及PHP中支持的其他语法结构。

数组中每个数据成为一个元素,元素包括索引(键名)和值两部分。元素索引只能有数字或字符串组成。元素值可以是多种数据类型。

数组索引自动编号从0开始

语法格式:$array=(“value1”,”value2”……)或$array[key]=”value”或$array(key1=>value1,key2=value2……)

<?php

$network1024=array(1=>"how",2=>2,'are'=>"you");

echo $network1024[2]; //输出2

echo $network1024[are]; //输出you

?>

声明数组后,数组中的元素个数可以自由更改。只要给数组赋值,数组就会自动增加长度。

 

3特殊类型:

包括空值NULL和资源resource

resource:资源是由专门的函数来建立和使用的,它是一种特殊的数据类型,并由程序员分配。在使用资源时,要及时释放不需要的资源。如果忘记释放资源,系统自动启动垃圾回收机制,避免内存消耗殆尽。

NULL:表示变量没有值。NULL不区分大小写,null和NULL都是一样。

为NULL的情况:

被赋为null;

尚未被赋值;

通过函数unset()而被销毁。

 

4数据类型转换:

(type)value

类型关键字                  类型转换                      类型关键字                  类型转换

(int),(integer)                 转换成整形                  (array)                          转换成数组

(float),(double),(real)      转换成浮点型               (object)                         转换成对象

(bool),(boolean)             转换成浮点型               (string)                         转换成浮点型

注意:

转换为boolean:null、0、未赋值的变量或数组会转换为false,其他为true

转化为integer:boolean:false为0,true为1

              float:小数部分被舍去

              string:以数字开头则截取到非数字位,否则输出0

 

通过函数bool settpye(mixed var , string type)

var为指定变量;type为要转换的类型boolean/float/integer/string/array/null/object

settype会改变变量自身类型