PHP数据类型

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

二: 三大类,八小类
   1.简单数据类型:
      (1) 整形:int/integer(系统分配4个字节存储,表示整数)
      (2)浮点型:float/double(系统分配8个字节存储,表示小数或者整形存不下的整数)
      (3)字符串型:string(系统根据实际长度分配,表示字符串(引号))
      (4)布尔类型:bool/boolean(布尔类型,只有两个值true/false)
   2.复合数据类型:
      (5)对象类型:object,存放对象(面向对象)
      (6)数组类型:array,存储多个数据(一次性)
   3.特殊数据类型:
      (7)资源类型:resource,存放资源数据(php外部数据,如数据库、文件)
      (8)空类型:NULL,只有一个值就是NULL(不能运算)

三:类型转换
类型转换:在很多条件下,需要指定的数据类型,需要外部数据(当前php取得的数据)转换成目标数据
   1.自动转换:系统根据自己的判断,自己转换(用的比较多,效率偏低)
   2.强制转换:认为根据需要的目标类型转换
在转换过程中用的比较多的是转布尔类型(判断)和转数值类型(算术运算),先转换成数值类型(整形和浮点型)再计算

四:类型转换的方法
   1.在变量前加一个括号(),然后在里面写上对应的类型:int等,NULL类型要用到unset()

$str1=123;
$str2=(String)$str1;
$str3=(object)$str1;
echo gettype($str2);
echo gettype($str3);
unset($str1);
echo gettype($str1)."<br>";
运行结果:string  object  NULL

   2.intval(),floatval(),strval()转换成int,float,str类型

$str1=123;
$str2=floatval($str1);
$str3=strval($str1);
echo gettype($str2)."<br>";
echo gettype($str3)."<br>";
运行结果:double	string

   3.settype($str,“int”)转换成相对应的数据类型

$str=123;
echo gettype($str)."<br>";
settype($str,"object");//返回的是boolean值
echo gettype($str);//字符串类型
运行结果:integer		object

五:类型判断
类型判断:通过一组类型判断函数,来判断变量,最终返回这个变量所保存数据的数据类型
   1.is_开头后面跟类型名字的函数:is_xxx(变量名)(相同返回true,不同返回false)

$str=123;
echo is_int($str)."<br>";
settype($str,"object");
var_dump(is_string($str));
运行结果:1	false

   2.bool类型不能用echo来查看,可以使用var_dump结构查看
   3.使用getType()
     getType()和setType()的区别
      (1)getType()是获取数据类型得到的是该类型对应的字符串
      (2)setType()会改变数据本身

$str=123;
echo gettype($str);//integer类型
settype($str,"string");//返回的是boolean值
echo gettype($str);//字符串类型
运行结果:integer  string

六:简单数据类型
   1.整数类型:保存整数数值(4个字节32位)默认有符号类型

Decbin():十进制转二进制
Decoct():十进制转八进制
Dechex():十进制转十六进制
Bindec():二进制转十进制

   2.浮点类型:小数类型以及超过整数能存储范围的整数(不保证精度),精度范围在15个有效数字左右
      浮点型定义的两种方式:$ f=1.23或$f=1.23e10
      不要用浮点数做精确判断:浮点数保存的数据不够精确,而且在计算机中凡是小数基本保存都不精确

$f1=0.7;
$f2=2.1;
$f3=3;
if($f1==$f2/3){
    echo "精准";
}else{
    echo "不精准";
}
运行结果:不精准

   3.布尔类型:两个值true和false,通常用于判断,需要注意类型转换
empty():判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。
isset():isset函数是检测变量是否设置。
语法:bool isset ( mixed var [, mixed var [, …]] )
返回值:
若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE
同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值