PHP语言中包含的数据类型可以划分成3类:标量数据类型、复合数据类型、特殊数据类型。
各数据类别包含的数据类型如下表所示:
标量数据类型:整形、浮点型、布尔型、字符串
复合数据类型:数组、对象
特殊数据类型:NULL、资源
(1)整形(integer、int)
没有小数点的数字。在32位操作系统中,整形的有效范围是2147483648 到 -2147483647
整形数据可以用十进制、八进制(以0为前缀)或十六进制(以0x为前缀)表示,并且可以包含”+”和”-”。
(2)浮点型(float、double)
有小数点的数字。浮点数的字长也和平台有关,允许表示的范围在1.7E-308~1.7E+38之间,精确到小数点后15位。
(3)布尔型(boolean、bool)
布尔型的数据只有 true 和 false 。分别对应了 真 和 假 。使用布尔型时,true 和 false 取值是不区分大小写的。
(4)字符串(string)
字符串是一个连续的字符序列,组成字符串的字符是任意的,PHP没有对字符串的最大长度进行严格的规定,必须用单引号、双引号或定界符来包裹字符串
双引号字符串支持变量的解析和转义字符;单引号不进行解析和转义;
定义简单的字符串时,使用单引号是更加高效的处理方式,使用双引号时,php将浪费一些开销处理字符转义和变量解析,因此,如果没有特别需求应使用单引号。
定界符:php还引入了另一种字符串定义方法,使用定界符“<<<”来定义字符串,字符串必须包含在一组定界标示符内。
$str=<< PHP100 is website i like php100 EOD; echo << there is some string here $str EOT; echo " echo '$str'; ?> 定界符“<<<”的后面紧跟的是定界标示符。标示符由字母、数字、下划线构成,并且不能以数字开始。结尾的标示符必须顶格写,前面不能有任何其他字符。通常的错误是将结尾的定界符进行缩进。定界符中的字符串可以被解析,可以使用转义字符,但不必转义引号,当需要定义或者输出大量的文本时,使用定界符比较方便。 (5)数组(Array) 数组是PHP中一种重要的复合数据类型。 数组可以存放多个数据,并且可以存入任何类型的数据。 数组中的每个元素都有其唯一的编号,称为索引。索引既可以是数字,也可以是字符串。 索引和值是一一对应的关系。 $arr=array(); print_r($arr);//print_r用于打印数组 =>是键值对符号 (6)对象(Object) 在PHP中,对象是一种更高级的数据类型。 一个对象类型的变量,是由一组属性值和一组方法构成。其中属性表示对象的一种状态,方法通常表示对象的功能。 (7)NULL NULL表示一个变量没有值。NULL不区分大小写。 在下列情况下变量被认为是NULL: ①将变量直接赋值为NULL; ②声明的变量尚未被赋值; ③被unset()函数销毁的变量。 $n=null; var_dump($n); 输出结果只有一个null (8)资源类型(resource) 资源是一种特殊类型的变量,保存了到外部资源的一个引用。 资源是通过专门的函数来建立和使用的。 .txt文本可以存放数据,也可以把它理解为一个数据库,资源=fopen(x.txt);fopen函数返回一个资源型的数据类型; 函数: bool is_int($val) $val是整数,返回 true bool is_float($val) $val是小数,返回 true bool is_numeric($val) $val是数字或者数字字符串,返回 true bool is_string($val) $val是字符串,返回 true bool is_bool($val) $val是布尔值,返回 true bool is_array($val) $val是数组,返回 true bool is_null($val) $val是null,返回 true 关于布尔型数据的实例: 例子: $if=true; $if=false; echo $if;浏览器显示空白; $if=true; echo $if;输出1; $if=true; var_dump($if);输出 boolean true,var_dump是可以输出变量的数据类型和值,若果是字符串的话,还可以把字符串的长度打印出来。 类型转换是指将变量从一种数据类型转换成其他数据类型。 转换方法: (1)自动转换 通常发生在不同数据类型的变量混合运算时,如参与运算的变量类型不同时,先转换成同一类型,再进行运算。 通常只有整形、浮点型、字符串和布尔型才会使用自动类型转换。 自动转换规则: 布尔值:true 转换成整形 1,false 转换成整形 0 ; NULL:转换成 0 ; 整形和浮点型参与运算时,先把整形转换成浮点型 ; 字符串和数字型数据参与运算时,先把字符串转换成整形 字符串是一个纯数字的时候,字符串转化为数字的时候,就直接是一个数字。 字符串如果前面的是数字,后面部分有不是数字的,转化成的数字,只取前面的数字部分,非数字之后的部分直接舍去。 浮点型转化为整型时,如果数值超过了整型的取值范围,那么结果可能是0或者是整型的最小负数。 布尔型转化为字符串时,true转化为1,false还有null都会转化为空字符串。 (2)强制数据类型转换 强行改变一个变量的数据类型。 在要转换的变量之前加上一个小括号,并把目标数据类型填写在小括号中。 $变量名 = (变量类型)$变量名; 假设有变量: $val='abc'; $int=123; 转换成整型:$val=(int)$val; $val=(integer)$val; // $a=false; $a=(int)$a; 输出结果是0 转换成浮点型:$val=(float)$val; 转换成布尔值:$val=(bool)$val; $val=(boolean)$val; 转换成字符串:$int= (string)$int; 除了上述方法外,我们还可以使用系统函数来转换数据类型,如下所示: $val = intval($val); 将变量转换成整型 $val = floatval($val); 将变量转换成浮点型 $val = boolval($val); 将变量转换成布尔值 $val = strval($val); 将变量转换成字符串 php是一种弱类型的变成语言,$val=10;$val='abc'; 可以同时存在一个文本里面,在其他比如C等,强数据类型语言中,是不可以这样的,强类型里面,一个变量可以存的数据类型是需要事先声明的。
"
宠物免费领养小程序,欢迎来踩