当前位置:首页 > 技术知识 > 正文内容

PHP入门读书笔记(二):数据类型_php常用数据类型的语法格式

php 的数据类型一共有8种,包括4种标量类型,也就是boolean(布尔型),integer(整型),float/double(浮点型)和string(字符串型),2种复合类型,也就是 array(数组)和object(对象),2种特殊类型,也就是 resource(资源)和null。


一、 标量数据类型

标量数据类型是数据结构中最基本的单元,只能存储一个数据。

类型 说明

boolean 只有两个值,真(true)和假(false)

string 连续的字符序列,计算机所能表示的一切字符的集合

integer 只能包含整数,可以是正数或者负数

float 和整型不同的是可以有小数

1、布尔类型(boolean)

$bo = true; //声明了一个boolean的变量bo,值为真

注意:在0、0.0、”0”、空白字符串(“”)、只声明没有赋值的数组等这些情况下,也是会被认为是假的。

2、字符串型(string)

字符串可以由数字,字符、符号组成。定义字符串的可以是单引号(‘)、双引号(“)和界定符(<<<)

$a = “字符串”; //声明了一个字符串a

3、整型(integer)

整型数据类型只能包含整数,可以使用十进制,八进制,十六进制来表示。如果使用八进制,数字前面必须加0,如果使用十六进制,则需要加0x。

整型数据在32位操作系统的有效数值范围是-2147483648~+2147483647

如果给出的数值超出了int所能表示的最大范围,会被当做float类型处理,这就是整数溢出。如果表达式最后运算结果超出了范围,也是返回float类型。

4、 浮动型(float)

浮点数据类型可以用来存储整数,也可以存储小数。在32位操作系统中的有效范围是1.7E-308~1.7E+308。在php4.0以前的版本中,浮点型的标识是double,称为双精度浮点数。

浮点型数值是一个近似值,尽量避免浮点型数值之间的比较大小。

二、 复合数据类型

类型 说明

array 一组类型相同的变量的集合

object 对象是类的实例,可以使用new 命令来创建

1、数组(array)

数组是一组数据的集合,把一系列数据组织起来。数组中可以包括很多数据,比如标量数据、数组、对象、资源以及php中支持的其他语法结构等。

数组的每个数据称为一个元素,元素包含索引(键名)和值两个部分。元素的索引可以是数字或者字符串组成,值可以多种数据类型。

$array = (‘value1’,’value2’......);

$array[key] =’value1’;

$array = array(key1=>value1,key2=>value2....);

参数key是数组元素的下标,value是数组下标所对应的元素。

$arr1 = array(‘hello’,’world’);

$arr2 = array(0=>’hello’,1=>’world’);

$arr3[0] = ‘helloworld’;

声明数据后,数组中的元素个数可以自由更改,只要给数组赋值,数组长度会自动增加。

2、对象(object)

这个放在后面进行详细介绍。

三、 特殊数据类型

类型 说明

resource 资源是特殊变量,又叫句柄,是保存到外部资源的一个引用。资源是通过专门的函数来建立和使用的。

null 空值是特殊的值,表示变量没有值,唯一的值就是null

1、资源(resource)

使用资源系统会自动启用垃圾回收机制,释放不再使用的资源,避免内存消耗殆尽。

2、空值(null)

没有为变量设置任何值就是空值,空值不区分大小写,null和NULL是一样的效果。被赋予空值的情况有:还没有赋任何值 、 被赋值null 、 被unset()函数处理过的变量。

unset($a)函数从内存中删除变量/销毁变量,从php4开始已经不再有返回值。

Is_null($a)函数可以判断是否为空,返回的是布尔类型。

四、 转换数据类型

php转换数据类型只要在变量前面加上括号括起来的类型名称就可以。

1、转换成boolean类型的时候,null,0和未赋值的变量或者数组都会被转换为false,其他是true。

2、转换成整型的时候,布尔类型的false会被转换为0,true转换为1。浮点型的小数部分会被舍去。字符型如果以数字开头截取到非数字位,否则输出0。

可以使用函数settype()来完成

函数格式:bool settype(mixed var,string type)

参数var是指定的变量,参数type是指定大数据类型(即boolean、float、integer、array、null、object、string),转换成功返回true,失败返回false。

五、 检测数据类型

判断参数是否属于某个类型,符合返回true,否则返回false。

函数 说明

is_bool 是否是布尔类型

is_string 是否是字符串类型

is_float/is_double 是否是浮点类型

is_integer/is_int 是否是整数

is_null 是否是null

is_array 是否是数组

is_object 是否是一个对象类型

is_numeric 是否是数字或有数字组成的字符串


本节就介绍到这里。下节我们来说说常量,变量,可变变量,预定义变量

相关文章

登录注册产品需求自检清单,你都写全了没?

来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。自己挖的坑一定要让别人给填好!一、登录(从PC端到移动端)移动端的登录沿袭了很多PC端的经验,但也有其独特的演变,我收...

Win10系统除了移植Objective C,还要有Swift

IT之家讯Build2015大会最让人震惊的莫属微软推出工具,Win10系统可以移植安卓/iOS应用,特别是后者使用的Objective C编程语言,不过最新消息表明,微软连苹果最新的Swift移植也...

Objective-c单例模式的正确写法「藏」

单例模式在iOS开发中可能算是最常用的模式之一了,但是由于oc本身的语言特性,想要写一个正确的单例模式相对来说比较麻烦,这里我就抛砖引玉来聊一聊iOS中单例模式的设计思路。关于单例模式更多的介绍请参考...

大势所趋:Swift受欢迎度即将赶超Objective C

Swift是Apple在WWDC2014所发布的一门编程语言,用来撰写OS X和iOS应用程序。不到两年时间,在iOS开发者中Swift语言便凭借着简洁的语法和优秀的特性打动了开发者,之前用于iOS和...

惊现!iOS 16.5 kfd 漏洞利用,成功隐藏 Dock 栏

最近!kfd漏洞比较活跃,进展也是很顺利,今天就有大神成功使用 kfd 漏洞实现隐藏 Dock 栏,到底怎么回事?请继续往下看。-- kfd 漏洞说明 --kfd漏洞适合在 iOS 16.2 - 16...

微软明年要停止SQL Server 2005的技术支持了

站长之家(Chinaz.com)12月28日消息据外媒消息称,微软将于明年停止为SQL Server 2005提供技术支持,即不再为其提供新的安全补丁、新功能、应用升级等服务。且表示在停止技术支持后,...