三:PHP数据类型

PHP是弱类型语言,它的数据类型指的是变量存储的数据的类型,而变量本身没有数据类型

一:PHP数据类型分为3大类,8小类

基本类型

  • 布尔型(boolean):true和false两个值
  • 整型(int/integer):系统分配四个字节存储,表示整数类型
  • 浮点型(float):系统分配八个字节存储,表示小数或者超出范围的整型数
  • 字符串类型(string):

复合类型

  • 数组(array):存放一组数据
  • 对象(object):存放对象

特殊类型

  • 资源(resource):存放PHP外部数据,比如数据库,文件等
  • null类型(null):只有一个值null,不能运算

二:类型转换

数据类型的转换分为自动转换和强制类型转换

  • 自动转换:系统根据需求,自己转换,此方式比较多,但效率低
  • 强制类型转换:在数据前面加(),里面放需要转换成的类型;其中转换成null类型需要用unset()函数

自动转化一般是字符串转化成数值 类型(整型或浮点型),一般用算数运算符实现
字符串转换成数值类型规则:从左向右,截断第一个非数字之前的部分,带小数点的,第一个小数点不截断

$a ='2.4.3ghjkl';
$b = '34hjk';
$c = 'trfdf3444444';
echo $a+$b+$c;  // 36.4

三:类型转换相关的函数

  • gettype():获取变量的类型,得到该类型对应的字符串
  • settype():设置变量的类型,设置数据的类型
  • var_dump():获取变量的详细信息

举个栗子

$a = 10;
$b = 1.2;
$c = 'hello';
echo gettype($a);   // integer
echo gettype($b);   // double
echo gettype($c);   // string

(string)$a;
echo gettype((string)$a); // string
echo gettype($a);   // integer

settype($a,"string");
echo gettype($a);   // string

强制类型转换与settype()函数的区别:
强制类型转换是对数据复制以后,转换复制的数据,原来的数据还是以前的类型
settype()函数直接将该数据的类型改变了

四:类型判断

可以用类型判断函数来判断此变量保存的数据是什么类型的,这些函数以is_作为开头,后面加数据类型。如果是此类型,返回1;不是的话,不返回东西

  • is_bool():判断是否是布尔型
  • is_int()、is_integer()和is_long():判断是否为整型。
  • is_float()、is_double()和is_real():判断是否为浮点型
  • is_string():判断是否为字符串
  • is_array():判断是否为数组
  • is_object():判断是否为对象
  • is_resource():判断是否为资源类型
  • is_null():判断是否为null
  • is_scalar():判断是否为标量
  • is_numeric():判断是否是任何类型的数字和数字字符串
  • is_callable():判断是否是有效的函数名
$a = 10;
echo is_array($a);  // 不返回东西
echo is_int($a);    // 返回1

你可能感兴趣的:(三:PHP数据类型)