PHP-数据类型

目录

什么是数据类型?

PHP的八种数据类型

类型转换

数据类型的判断


什么是数据类型?

数据类型:data type ,在PHP中指的是存储的数据本身的类型,而不是变量的类型,php是一种弱类型语言,变量本身没有数据类型


PHP的八种数据类型

在PHP中将数据类型分为三大类八小类

基本数据类型

整形:int/intger,系统分配4个字节存储,表示整数类型;

浮点型:float/double,系统分配4个字节存储,表示整数类型(有前提)

字符串型:string,系统根据实长度分配,表示字符串,表示字符串的符号是单引号或双引号

布尔类型:bool/boolean,表示布尔类型的只有两个值:True和False

复合类型类型

对象类型:object,可以存放对象(面对对象);

数组类型:array,可以一次性存储多个数据

特殊数据类型

资源类型:resource,存放资源数据(通常存放都是php外部数据,如:数据库、文件 等...);

空类型:NULL , 只有一个值就是NULL(不能运算);


类型转换

类型转换:在很多的条件下,需要指定的数据类型,需要外部数据(当前php取得的数据),转换成目标的数据类型;

在PHP中有两种类型转换方式

  1. 自动转换 :系统根据需求自己判断,自己转换(用的较多,缺点:效率低);
  2. 强制(手动)转换:认为根据需要的目标类型转换;

强制转换的规则:在变量之前添加一个(),在里面写上对应的类型(NULL不能直接转换,需要使用函数unset{});

<?php
$a='1.12.111abc';
$b='abcd12.41.15';
//强制转换
echo '<br>',(int)$a,'<br/>',(int)$b;
//强制转换空类型的使用方式
unset($a);
echo $a;

在转换过程中常用的类型有:布尔类型(用于判断)转数值类型(算术运算)

其它类型转换成布尔类型只有两种结果:True或False,在PHP中很少类型会转化成False

其它类型转数值说明:

  1. 布尔值 True=1,False=0
  2. 字符串转数值有自己的规则;
  3. 字母开头的字符串,永远为0
  4. 数字开头的字符串,取到碰到字符串为止(不会同时包含两个小数点);

 


数据类型的判断

数据类型判断是使用一组类型判断函数,来判断变量的数据类型

is_+类型名字+{变量名};(相同的数据类型结果返回True,否则返回False


$a='112.1.1';
$b=21;
var_dump(is_int($a));
var_dump(is_int($b));

布尔类型不能使用echo来查看,需要使用var_drum();

$a=TRUE;
$b=FALSE;
var_dump($a,$b);

PHP中还有一组函数可以获取以及设定数据(变量)的类型;

  1. Gerrype(变量名):获取类型,得到的是该类型对应的字符串
  2. Settype(变量名,类型):设定数据类型
    //判断类型
    $a='112.1.1';
    $b=21;
    echo gettype($a);
    echo gettype($b);
    //设置类型
    var_dump(settype($a,'int')); //转换成功会返回True