php常见数据类型
php中的数据类型相较于js多了很多中,但其中相当一部分对于我们来说鲜少用到。因此我们只在这为大家介绍常见的几种数据类型。
(1)布尔类型:Boolean
(2)整数类型:Integer
(3)浮点类型:Float
(4)字符类型:String
(5)数组类型:Array
(6)对象类型:Object
(7)空值类型:NULL
(1)布尔类型:Boolean
介绍数据类型之前,为大家提供两个方法来判别变量的数据类型:
var_dump(变量|表达式):函数用来查看表达式的值和归属类型。
gettype(变量|表达式) :函数用来查看变量或表达式的类型。
描述:boolean是最简单值类型,用来表示表达式的真值。
语法:一般使用TRUE或FALSE常量来指定布尔值,两者均不区分大小写
注意:
a.可以使用(bool)或(boolean)强制转换修饰符,来对非布尔值类型的变量或表达式
进行强制类型转换。
b.当转换为布尔值类型时,以下值被认为是FALSE
布尔值 FALSE 本身
整型值 0(零)
浮点型值 0.0(零)
空字符串,以及字符串 "0"
不包括任何元素的数组
特殊类型 NULL(包括尚未赋值的变量)
c.所有其它值都被认为是 TRUE(包括任何资源 和 NAN)
强调:
-1 和其它非零值(不论正负)一样,被认为是 TRUE
(2)整数类型Integer
描述:整数指的是集合 ℤ = {..., -2, -1, 0, 1, 2, ...} 中的某个数
语法:
a.整型值可以使用十进制,十六进制,八进制或二进制表示,
前面可以加上可选的符号(- 或者 +)。
b.二进制表达的 integer 自 PHP 5.4.0 起可用。
c.要使用八进制表达,数字前必须加上 0(零)。
要使用十六进制表达,数字前必须加上 0x。
要使用二进制表达,数字前必须加上 0b。
注意:
a. PHP7以前的版本,如果向八进制数传递了一个非法数字(即 8 或 9),
则后面其余数字会被忽略。PHP7以后,会产生 Parse Error错误
b. PHP 中没有整除的运算符。1/2 产生出 float 0.5。
c.使用(int)或(integer)方法对非整型变量或表达式进行强制类型转换
强调:
绝不要将未知的分数强制转换为 integer,这样有时会导致不可预料的结果。
(3)浮点类型Float
描述:浮点类型,又被称为浮点数Float或者双精度数double或者实数real。
语法:可以通过一下任何一种类型来定义
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
注意:
a.永远不要直接比较两个浮点数的大小,因为这样没有任何意义
b.如果必须比较浮点数大小,则可以采用【epsilon】机器极小值方式进行比
较。
c.NAN表示数学上无法用浮点数具体描述出的数字,和true之外的任何值进
行松散或严格比较的结果都会是false。
强调:
由于 NAN 代表着任何不同值,不应拿 NAN 去和其它值进行比较,包括其自
身 。
(4)字符类型String
描述:字符类型也叫字符串类型,是由一系列字符构成。
其中每一个字符等同于一个字节,因此php中只能支持256字符集,
也正因为这样其不支持Unicode。
语法:php中字符串有两种定义语法,单引号和双引号定义。
注意:
a.php字符串中使用转义字符\来描述容易引起歧义的内容
b.php对双引号定义的字符串中的变量可以进行内容解析,而单引号则不行。
c.php字符串允许多行定义,但会忽略多余的空格和换行。
d.php中字符串拼接采用.点运算符实现!不是+加号!!!!!!!
例子:
$frank = '张先森';
echo 'my name is $frank'."
";
echo "my name is $frank";
(5)数组类型Array
描述:php中的数组实际上一个有序映射,映射就是把keys关联到values上的类型.
语法:
array( key => value , ... )
// 键(key)可是是一个整数 integer 或字符串 string
// 值(value)可以是任意类型的值 。
自php5.4起,可以直接通过短数组定义方式[]来替代array()。
注意:
a.php中echo仅用来输出简单值,而复杂数据类型则需要通过print_r()函数来输出
b.php中的数组实际上更相似与js中的对象结构。
c.php中数组的读取和赋值可以通过数组名[键名]方式来读写。
d.php中数组的长度读取通过count()函数实现
e.php中数组内部添加原本并不存在的key值,不会补齐之间的差值,
而是仅添加当前新输入的key值。例:$arr[100] = 100.并不会为数组添加100个元素
例子:
print_r($frank = ['11','22','33']);
print_r($frank[0]);
$frank[100] = 960;
print_r($frank);
echo count($frank);
(6)对象类型Object
描述:php中想要创建一个对象,则必须通过new语句实例化一个类得到。
语法:$obj = new Func;
注意:
a.php中类由class关键字声明,类名后没有小括号。
b.php中类内部的方法由->箭头来调用,而不是.点运算符。
例子:
class Peo{
function eat(){
echo '我会吃饭';
}
}
$frank = new Peo;
print_r($frank->eat());
补充:对于类和对象的使用方法远不止如此,而在数据类型当中我们只需要知道
对象类型是如何创建的即可,剩余部分会在类和对象中详细说明。
(7)空值类型NULL
描述:NULL表示变量未被赋值的状态,NULL类型唯一可能的值就是NULL。
注意:NULL值不区分大小写,NULL或null都可以
例子:
var_dump($frank = NULL);