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

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

maynowei9个月前 (09-03)技术知识89

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 是否是数字或有数字组成的字符串


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

相关文章

Android让视图折叠(安卓叠加视图设置)

Android UI Libs之ExpandableLayout1. 说明ExpandableLayout,顾名思义,可扩展的布局,是一个可以帮助我们实现折叠功能的第三方库,折叠时,只显示头部,打开时...

Android指示器,轮播与循环轮播(android轮播图代码)

Android UI Libs之CircleIndicator1. 说明CircleIndicator,顾名思义,圆形指示器,只一个可以用来做轮播的第三方库。2. 配置在模块的build.gradle...

如何优雅地使用嵌入式事件标志组?

事件标志组嵌入式事件标志组是一种在嵌入式系统中广泛使用的同步机制,主要用于实现多任务间的同步与通信。事件标志组是一组事件标志位的集合,每个位代表一个事件是否发生。它允许任务等待特定的事件发生,当事件发...

C++ 原子操作与锁的深度解析:为什么原子操作并非万金油?

大噶好,我是henry,今天来和大家浅浅聊一下为啥C++原子操作并非万能钥匙,原因有三,且听我娓娓道来:一、原子操作的线程安全性C++11 的 std::atomic 确实为单个变量的线程安全操作提供...

掌握C语言多线程:高效并发编程指南

一、多线程基础概念介绍多线程编程是现代软件开发中提高程序性能和响应性的重要技术。在C语言中,pthread(POSIX Threads)库是实现多线程编程的标准工具。本节将通俗易懂地介绍多线程的核心概...

不需安装oracleclient连接oracle数据库方案

在Oracle官方发布ODP.net之前,我们通常使用微软的System.data.OracleClient进行Oracle数据库操作,它的缺点是必须要装Oracle客户端OracleClient,如...