数据类型

1. 什么是类型

不同的数据类型其实就是所存储数据的不同种类。

整型(integer):用来存储整数。

浮点型(float):用来存储实数。

字符串型(string):用来存储字符串。

布尔型(boolean):用来存储真(true)或者假(false)。

数组型(array):用来存储一组数据。

对象型(object):用来存储一个类的实例。

在强类型语言中,例如C语言,一个变量只能存储一种类型的数据,并且这个变量在使用前必须声明。PHP作为弱类型语言,给变量赋什么类型的值,这个变量就是什么类型。

$hello = 100; //由于100为整型,因此$hello变量为整型

2. 整型

整型是数据类型中最基本的类型,整型的取值从-2147483648到+2147483648。

例如:3560 //十进制整数

01223 //八进制整数

0x1223 //十六进制整数

3. 浮点型

浮点型表示实数。这个数据类型的大小为8个字节。取值2.2E-308~1.8E+308。

4. 布尔型

布尔型只有两个值,就是true和false。

其他的数据类型基本都有布尔类型:

a) 整型,为0时,其布尔属性为false,为非零值时,其布尔属性为true。

b) 浮点型,为0.0时,其布尔属性为false,为非零值时,其布尔属性为true。

c) 字符串型,为空字符串“”或者零字符串“0”时,其布尔属性为false,包好除此以外的字符串时其布尔类型为true。

d) 数组型,若不含任何元素,其布尔属性为false,只包含元素,则其布尔属性为true。

e) 对象型,资源型,其布尔类型永远为true。

f) null型,其布尔属性永远为false。

5. 字符串型

字符串型的数据是表示在引号之间的。双引号和单引号都可以表示字符串,但是两种表示方法也有一定的区别。双引号是可以表示所有的字符,但是在其中的变量显示变量的值,而不是变量的变量名,而有些特殊字符加上“/”符号就可以了;单引号内的字符串是被直接表示出来的。

实例:

执行结果

6. 数组型

数组是PHP变量的集合,是按照“键值”与“值”的对应关系组织数据的。数组的键值既可以是整数,也可以是字符串。另外,数组不特意表明键值得默认情况下,数组元素的键值为从零开始的整数。

在PHP中使用list()和array()函数来创建数组,也可以直接进行赋值。

实例:使用array()函数创建数组

方式一

执行结果

分析:(1)程序中”=>”为数组赋值,数组的下标只是存储的标识,没有任何意义,数组元素的排列以加入的先后顺序为准。

(2)本程序采用for循环输出数组,其中count函数返回数组的个数,echo函数返回当前数组指针的索引值对。

方式二

执行结果

方式三

执行结果

7. 对象型

对象就是类的实例。当一个类被实例化以后,这个被生成的对象被传递给一个变量。这个变量就是对象型变量。对象型变量属于资源型变量。

8. null型

null型是仅拥有null这个值得类型。这个类型用来标记一个变量为空。一个空字符串与null是不同的。在数据库存储时会把空字符串和null区分处理。null型在布尔判断时永远为false。很多情况下,在声明一个变量的时候可以直接先赋值为null型,如$value = null;

9. 资源类型

资源类型是十分特殊的数据类型。它表示PHP的扩展资源,可以是一个打开的文件,也可以是一个数据库连接,甚至可以是其他数据类型。

10.数据类型之间的相互转换

a) 自动数据类型转换

这种转换方式最常用,直接输入数据的转换类型即可。float型转换为整数int型,小数点后面的数将被舍弃。如果float数值超过了整数的取值范围,则结果可能是0或者整数的最小负数。

实例:

执行结果

b) 强制数据类型转换

在PHP中,可以使用settype函数强制转换数据类型。语法:

bool settype(var string type)

注:type的可能值不能包含资源类型数据。

执行结果

二、标量类型的声明

默认情况下,所有PHP文件都处于弱类型校验模式。PHP7加了标量类型声明的特性。

语法:declare(strict_types=1);

通过strict_types的值(1或0)来表示校验模式:1表示严格类型校验模式,作用于函数调用和返回语句;0表示强制类型校验模式。

注:可以声明标量类型的参数类型包括:int、float、bool、string、interface、array和callable。

1. 强制模式

2. 严格模式

php十六进制字符串转成字节数组_PHP中的数据类型及实例演示相关推荐

  1. php十六进制字符串转成字节数组_10 天 5 千 Star!21 岁本科生给程序员开发的十六进制编辑器...

    [导语]:ImHex 是一款界面美观的十六进制编辑器,主要面向逆向工程师和程序员.如果你喜欢暗黑系编辑器,那它应该是你的菜. ImHex 最近在 GitHub 上非常火热,上架五天就收获了 2.5k ...

  2. 16进制字符串转成字节数组、字节数组转16进制字符串、16进制字符串转成2进制字符串、中英文 字符串转16进制、16进制转换成中英文 字符串

    因为需要与硬件相互通讯 用到了这些方法 亲测可用 /*** 16进制表示的字符串 转换为字节数组** @param hexString 16进制表示的字符串* @return byte[] 字节数组* ...

  3. java字符串转换成字节数组_将Java字符串转换为字节数组

    我有一个要加密的字节数组,然后转换为字符串,以便可以传输. 当我收到字符串时,我必须将字符串转换回字节数组,以便可以对其进行解密. 我检查了接收到的字符串是否与发送的字符串(包括长度)匹配,但是当我使 ...

  4. php怎么字符串转成json对象_php中json字符串转换为对象?

    在PHP中,可以使用json_decode()函数来将json字符串转换为PHP对象.json_decode()函数用于解码JSON字符串,把json字符串转成对象或数组,默认转成对象:设置函数的第二 ...

  5. Bytes.toBytes(String类型的字符串) 将字符串转成字节数组的好处

    用户就是转换为byte数组之后就是二进制数据, 一般用来处理文件流操作,比如将数据存取到文件中 java中对于文件操作没有C#那么灵活,使用原生jdk的话操作文件都是以二进制形式进行的读/取.

  6. C# 将对象转换成字节数组(二进制数据)

    在将自定义对象或者数组等这样的数据存储到数据库时往往需要转换成二进制字节,尤其是在一些O/RM数据库框架中,下面是转换的函数,一个是将对象转换成二进制字节数组,另一个是将从数据库中读取的二进制流转换成 ...

  7. Java 字节数组流之图片转成字节数组

    Java 字节数组流之图片转成字节数组,相当于图片的复制 字符串可以直接读取到字节数组中用(getBytes) 问题:将一张图片读到字节数组里面(所有的东西都能够读到字节数组里面) 思路:先使用文件输 ...

  8. C# 中字符串string和字节数组byte[]的转换,16 进制字符串转 int的方法

    string和byte[]互转 string转byte[] byte[] byteArray = System.Text.Encoding.Default.GetBytes(str); byte[] ...

  9. C# 指定格式的字符串截成一维数组(二维数组)的操作类

    指定格式的字符串截成一维数组(二维数组)的操作类 做项目时经常会遇到将"1,3,a,b,d"截成一维数组或将"1,a;2,b;3,c;4,d"截成二维数组.虽然 ...

最新文章

  1. windows 7 unmountable boot volume 解决方法
  2. [2.7]【CF933A】A Twisty Movement【CF926B】Add Points【CF917A】The Monster【CF919E】Congruence Equation
  3. mysql数据横表变成竖表_MySQL中横表和竖表相互转换
  4. java微信服务商支付,Java 微信支付之APP支付服务端 (二)
  5. android个人中心界面_Android 机也能用上你熟悉的浏览器插件,这些浏览器不可错过...
  6. global position
  7. html中的各种协议,html 中使用 wtai 协议
  8. 半岛电视台员工遭iOS iMessage app零点击0day 漏洞利用攻击
  9. CSU 1120 病毒(DP)
  10. vue全家桶+element-UI
  11. 计算机丢失msvcrt.dll,msvcrt.dll修复工具
  12. kindeditor 上传图片 php,Kindeditor编辑器添加图片上传水印功能(php代码)
  13. 立潮头 筑根基 赢未来——ZDNS合作伙伴大会成功举办
  14. echarts:迁徙图
  15. 栈--后进先出的线性表
  16. 2016全球大数据战略版图剖析(7):跨基础设施/分析篇
  17. 基本的信号——矩阵脉冲信号(门函数)
  18. 经管保研|2022复旦经院推免研究报告
  19. Either re-interrupt this method or rethrow the “InterruptedException“ that can be caught here.
  20. 毕业设计-基于JSP实现医院病历管理系统

热门文章

  1. python安装pillow图形处理库
  2. oracle java vm,我可以使用Oracle Java 7 HotSpot VM安装DCEVM吗?
  3. P4:神经网络与反向传播
  4. ROS2——Windows上的安装笔记
  5. Jupyter Notebook——夏侯南溪常用的快捷键
  6. 【干货】如何判断 Sql 注入点
  7. PostgreSQL and SQLAlchemy [ubuntu]
  8. 使用springboot遇到的的异常
  9. ODrive踩坑(四)AS5047P-SPI绝对值磁编码器,不需每次上电校准无刷电机,直接上电可用
  10. ROS学习笔记三:创建ROS软件包