一、PHP数据类型
1、数据类型的分类
①、标量(scalar)数据类型
int 整型
float 浮点型
boolean 布尔型
string 字符串
②、复合数据类型
array 数组
object 对象
③、特殊数据类型
null null
resource 资源类型
2、数据类型之整数(int)类型
①、十进制
$v=255;
②、八进制
以0开头,并且不能有超过7的数字
③、十六进制
以0x开头,包含0~9,a~f
示例:
八进制,十六进制都会自动转化为十进制
3、数据类型之浮点(float)类型
带有小数点的数就是浮点类型
小数有两种表示形式:
普通方式:
科学计数法:
示例:
小数存在精度丢失问题:
所以不要在计算机中比较两个小数的大小
4、数据类型之字符串(string)类型
①、使用单引号的字符串
能够被转义的字符有\\ \
单引号定义的字符串中的变量不能解析其值。
②、使用双引号的字符串
能够被转义的字符:\" \t \r \n \$
双引号定义的字符串的变量的值可以被解析。
示例:
③、如果字符串引号中需要解析的变量后,紧跟其他东西,这时需要{}来将变量分离
④、heredoc
也是使用双引号定义字符串的,主要应用于定义场景大段的字符串
语法:
$heredoc =<<<开始标记
大段内容
结束标记;
注意:结束标记必须顶格写,否则报错,变量名以及标记名可以自己定义。
如图所示:
转义符:\
用于将程序语言所赋予的某些字符功能的特殊功能转义掉。
输出不可见空白字符
转义符能够转义的字符(如图):
5、数据类型之布尔(bool)类型
true 成立
false 不成立
6、数据类型之数组(array)类型
①、索引数组
数组元素的下表就是数值,这样的数组是索引数组
②、关联数组
数组元素的下标是字符串,这样的数组就是关联数组
数组元素的访问:
如果访问索引数组,就是[0]、[1]等
如果访问关联数组,如:['age']、['names']等
使用print_r可以输出数组,如$_SERVER就是一个数组,如下:
输出数组中的某个元素
语法:数组名[数组下标或者字符串],如输出$_SERVER中的SERVER_PORT,如下:
如果在字符串中访问数组元素SERVER_PORT的话,如下
①、字符串中数组元素不用加''符号
②、或者在数组外加{ }符号,再加‘’符号
7、数据类型之null类型
null类型只有一个值, null
8、数据类型之资源类型
resource类型
资源类型你给是一个特殊的变量,程序员没有办法直接定义一个资源,必须使用php提供的获取资源的函数
了解:
二、数据类型的转换
数据就是用于运算,当参与运算的两个数据,类型不同时,php会自动转换。
有时我们也会强制转换
1、自动转换
2、强制转换
(integer)变量 将其他数据强制转换为整型
(float)变量 将其他数据强制转换为浮点型
(array)变量 将其他数据强制转换为数组
(object)变量 将其他数据强制转换为对象
(string)变量 将其他数据强制转换为字符串
(boolean)变量 将其他数据强制转换为布尔值
例:
说明:0、 0.0、空字符、字符0、空数组、null等效于布尔false的值。
三、数据类型的判断
判断函数的格式规律:
is_int(v);
is_string(v);
is_bool(v);
is_float(v);
is_scalar(v); 判断变量类型是否是int、string、bool、float
is_array(v);
is_object(v);
is_resource(v);
is_null(v);
例:
isset(v) 用于判断是否有设置值(判断变量是否为null值)
示例:
empty(v)用于判断变量v的值是否为“空”,此处的空即等效于布尔值false的值,empty都会认为是空。如果是空,则返回值是true,否则返回false。
示例: