专栏首页python3PHP(3):数据类型

PHP(3):数据类型

PHP(3):数据类型

一、 数据类型

数据类型是具有相同特性的一组数据的统称。PHP早就提供了丰富的数据类型,PHP 5中又有更多补充。本节将介绍这些数据类型,可以分为3类:标量数据类型、复合数据类型和特殊数据类型。

1、 标量数据类型

标量数据类型只能包含单个的一项信息,以下都属于标量数据类型:布尔型、整型、浮点型和字符型。

2、 复合数据类型

复合数据类型允许将多个相同类型的项聚集起来,表示为一个实体。这包含数组(array)和对象(object)。

3、 特殊数据类型

特殊数据类型包括那些提供某种特殊用途的类型,因此无法归入其他任何类别。这包含资源(resource)和空(null)数据类型。

二、 标量数据类型

1、 布尔型(boolean)

布尔数据类型以数学家乔治·布尔(1815—1864)的姓名命名,他被认为是信息论的创始人之一。布尔变量表示真实性,只支持两个值:TRUE(真)或FALSE(假)。

当转换为 boolean 时,以下值被认为是 FALSE:

● 布尔值 FALSE

● 整型值 0(零)

● 浮点型值 0.0(零)

● 空白字符串和字符串 "0"

● 没有成员变量的数组

● 没有单元的对象(仅适用于 PHP 4)

● 特殊类型 NULL(包括尚未设定的变量)

所有其它值都被认为是 TRUE(包括任何资源)。

2、 整型(integer)

整型值可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(- 或者 +)。

如果用八进制符号,数字前必须加上 0(零),用十六进制符号数字前必须加上 0x。

整型数的字长和平台有关,通常最大值是大约二十亿(32 位有符号)。PHP 不支持无符号整数。

如果给定的一个数超出了 integer 的范围,将会被解释为 float。同样如果执行的运算结果超出了 integer 范围,也会返回 float。

3、 浮点型(float或double)

浮点数(也叫浮点数,双精度数或实数),其字长和平台相关,通常最大值是 1.8e308 并具有 14 位十进制数字的精度(64 位 IEEE 格式)。

4、 字符型(string)

对于内容较少的字符型数据必须括成英文单引号或双引号之间。那么也就意味着单引号或双引号不能出现在字符数据之内,否则将会引起解析错误!如果内容中必须要出现单引号或双引号的话,那么就必须使用转义符!

5、 转义符

转义符固名思义就是其意思已经发生改变了,在PHP中,转义符共有以下几个:

转义符

含义

\”

双引号

\’

单引号

\n

换行符

\r

回车符

\t

Tab键

\\

反斜线

\$

美元符号

对于双引号和单引号,我们格外来强调一下,如果是想在浏览器的效果中看到双引号或单引号,那么在PHP源代码中的双引号或单引号既可以通过HTML实体来表示,也可以通过转义符来表示(建议使用HTML实体);而如果是想在浏览器的源代码中得到双引号或单引号,那么只能通过转义符来表示了!我们通过以下的案例来说明这个问题!

<?php

$msg1 = stripcslashes("He said:\"I\'m fine\"");

$msg2 = "He said:&quot;I&#39; fine.&quot;";

echo("<p>{$msg1}</p>\n");

echo("<p>{$msg2}</p>\n");

?>

运行后的浏览器效果如下:

源代码如下:

经过源代码的对比,我们就发现为什么浏览器的效果中双引号或单引号用HTML实体来代表的原因了!

再来看看浏览器的源代码中的双引号或单引号的处理案例吧!

PHP代码:

<?php

echo("<p align=\"left\">吴华博客--http://pangdou.blog.51cto.com</p>");

?>

浏览器效果:

源代码效果:

三、 复合数据类型

1、 数组(array)

将一系列类似的项聚集在一起,并以某种特定的方式进行排列和引用。数组双具体的分为数字索引数组和关联数组

2、 对象(object)

PHP支持的另一种复合数据类型是对象。对象是面向对象程序编程(Object Oriented Programming,OOP)的核心概念。

四、 特殊数据类型

1、资源(resource)

PHP通常用于与一些外部数据源交互,如数据库、文件和网络流。通常,这种交互通过句柄(handle)完成,成功地连接资源时会对句柄命名。这些句柄将保持对资源的引用,直到通信结束。这些句柄就属于资源数据类型。

2、空值(null)

特殊的 NULL 值表示一个变量没有值。

下列情况下一个变量被认为是 NULL

· 被赋值为 NULL

· 尚未被赋值

· 被 unset()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 关于php对象池

    对象池需要从php的生命周期说起,php的应用大部分都是web网站,而大部分web网站使用的都是cgi模式进行运行的,导致php生命周期跟随着请求结束而结束,从...

    仙士可
  • php关键字-trait

    Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用 m...

    仙士可
  • php面对对象之后期绑定

    自 PHP 5.3.0 起,PHP 增加了一个叫做后期静态绑定的功能,用于在继承范围内引用静态调用的类。

    仙士可
  • mysql的索引

    在大部分情况下,程序的瓶颈都在于数据库,所以为了减少数据库的压力,我们会通过缓存(减少数据库查询),分布式数据库,读写分离等方式去减少数据库本身的curd压力.

    仙士可
  • 关于php的位运算

    7&3=>7(0111)&3(0011)    可以看出,0111和0011都为1的只有后面2个1,则7(0111)&3(0011)=0011; 0011十进制...

    仙士可
  • PHP:Phar的打包和使用

    Phar是PHP里类似于 Jar 的一种打包文件,可以将整个应用打包,便于部署等。

    仙士可
  • 关于"绝对路径"和"相对路径"

    作为一个phper,一开始学习的时候,可能都接触过绝对路径和相对路径,但是也可能很多没学基础的人,直接撸tp去了,根本不了解路径,一遇到问题就两眼一抹黑瞎几把问...

    仙士可
  • HTTP中GET/POST请求的区别

    HTTP 请求方法有:HEAD、PUT、DELETE、OPTIONS、CONNECT

    仙士可
  • HTB系列之七:Bastard

    该exploit会攻击由服务扩展创建的REST端点,我们只需要找出REST端点的名称即可利用该漏洞。

    徐焱
  • 空间索引-geohash算法实现

    geohash是实现空间索引的一种算法,其他实现空间索引的算法有:R树和其变种GIST树、四叉树、网格索引等

    仙士可

扫码关注云+社区

领取腾讯云代金券