PHP的数据类型
1、分类
三大类八小类
1、标量(scalar)数据类型
int 整型
float 浮点类型
Boolean 布尔型
string 字符串
2、复合数据类型
array 数组
object 对象
3.特殊数据类型
null null
resource资源类型
2、数据类型详解之整数(int)类型
线性的整数
1、十进制
$v=225
2、八进制
以0开头,并且不能超过7的数字
3、16进制
以0x开头,包含0-9,a-f
其他进制在显示时都会自动转换十进制
3、数据类型详解之浮点(float)类型
带有小数点的数
两种表示方式
不要随意比较两个小数的大小
4、数据类型详解之字符串(string)类型
字符串就是使用单引号或双引号括起来的0个或多个字符。
1、使用单引号定义的字符串
能够被转义的字符有 \\,\'
单引号定义的字符串中的变量不能解析其值
2、使用双引号定义的字符串
能够被转义的字符有 \\,\",\t,\r,\n,\$
双引号定义的字符串中的变量的值可以被解析
3、heredoc
也是用于定义字符串,主要应用场合是定义大段的字符串
语法:
$heredoc=<<<开始标记
大段文本
转义符:\
用于将程序语言所赋予的某些字符的特殊功能转义掉
输出不可见的字符
转义符能够转移的字符:
5、数据类型详解之布尔(Boolean)类型
true 成立
false 不成立
6、数据类型详解之数组(array)类型
1、索引数组
数组元素的下标是数值
2、关联数组
数组元素的下标是字符串
注意:如果在一个字符串中想输出数组的元素,那么下标不需要加引号
如果使用{}来限制了数组,那么下标必须加引号
7、数据类型详解之null类型
null类型只有一个值,null
8、数据类型详解之资源类型
resource类型
资源数据类型也是一个特殊的变量,程序员没办法直接定义一个资源,必须使用PHP提供的获取资源函数
数据类型的转换
数据就是用于运算,当参与运算的两个数据,类型不同时,PHP会自动转换。
又是我们也会强制转换
1、自动转换
$v1=100; $vi='100元'; echo $vi*$v1;
运行结果:10000
解析:参与运算的两个操作数$v1和$vi数据类型不同,但根据 * 运算符,将$vi转换成数值
2、强制转换
(integer)变量 将其他数据类型强制转换为整型
(float)变量 将其他数据类型强制转换为浮点型
(array)变量 将其他数据类型强制转换为数组
(object)变量 将其他数据类型强制转换为对象
(string)变量 将其他数据类型强制转换为字符串
(boolean)变量 将其他数据类型强制转换为布尔值
$v1=100; $v2=0; $v3=''; $v4='0'; $v5=[]; $v6=null; $v7=0.0; $result1=(boolean)$v1; //true $result2=(boolean)$v2; //false $result3=(boolean)$v3; //false $result4=(boolean)$v4; //false $result5=(boolean)$v5; //false $result6=(boolean)$v6; //false $result7=(boolean)$v7; //false var_dump($result);
说明:0、0.0、字符空、字符0、空数组、null等等效于布尔false的值
数据及类型的判断
判断函数格式的规律:
is_int();
is_float();
is_string();
is_bool();
is_scalar(); 判断变量的类型是否为int、float、bool、string
is_array();
is_object();
is_null();
is_resouce();
isset(); 判断变量是否有设置值(判断变量的值是否为null值)
empty(); 用于判断变量的值是否为”空“,等效于布尔false的值都被empty认为是空。如果是空返回true