PHP学习宝典-第六章

2016-01-29 13:11 0 1 收藏

PHP学习宝典-第六章,PHP学习宝典-第六章

【 tulaoshi.com - PHP 】

PHP中的型别

本章重点

◆ 了解PHP的八种型别Boolean、

◆ NULL、string、array、object与、resource

◆ 建立、读取、显示输出与操控不同型别的物件

从某种型别转换成其它型别

所有程式设计语言都有某些型别系统,且来指定可出现在程式中的数值种类。这些不同的型别常对应于电脑记忆体中不同层级的表示,在很多情况下程式设计者不用考虑位元的表示方式(或是有足够能力处理)。PHP的型别系统是简单合理,而且很有弹性,它把程式设计者与一些低阶段的细节分隔开来。

在本章中,我们将说明PHP的基本型别(integer、double、Boolean、NULL、string、array、object、 resource),并且讲解如何读取、如何输出显示、如何、指定给变数、如何转换以及怎么组合在一起。在这一章中既是概论也是参考资料,对已是程式设计老手的人可以跳过不看,但只有部份不太熟悉的人可以只阅读前面几节,不管是谁都可以在往后有问题时回不来查找那些当初看起来无关紧要的细节内容。

首要原则:放松自己

PHP使得在键入变数和值时很容易,这是因为它不需在指定娈数和确定型别,另外也是因为它能够处理很多种型别的转换。

变数型别不必先宣告

正如在上章中已经提到的内容,变数的型别不是需要提前宣告,可由程式设计者直接使用运算式指定值,而PHP自己会负责弄清楚在指定的值是什么型别,如下范例:

$first_number=55.5;

$second_number=Not a number at all;

型别自动转换

PHP在需要时自动进行型别的转换。与现在大多数的程式语言一样,PHP在进行混合式的数字型别计算时,也都可以执行得很好,例如运算式

$pi=3+0.14159

的结果就会是个倍精度浮点数,在执行加法前,整数「3」就会被暗中先转换成了浮点数。

根据上下文配制型别

PHP在执行自动型别转换时比大多数语言做得更深入,请看看下面的例子

$sub=substr(12345,2,2);

Print(sub is $sub
);

Substr函式是设计成以一个字串当成一个输入值,然后传回该字串的某部份子字串,由函式的另两个参数来决定取回子字串的起点和长度。在这个例子中,我们并不是给它传递字串值,而是传递了整数12345,结果会怎样呢?实际上执行并不会有什么问题,浏览器一样会输出

Sub is 34

由于substr希望得到的是字串而不是整数,PHP会自动把数字12345转换成了字串「12345」,然后substr就可以做自己的事情了。

因为这种自动的型别转换特性,PHP很难在型别方面出错,不过实际是PHP程式设计者还是需要小心一些,以确保型别的混合使用不会产生「没什么错误、但却也不是正确结果」的情况。

型别总整理]

PHP只有八种型别Boolean、string、array、object、NULL和resource。

* integer 数字的整数部份,没有小数点,如495。

* double 倍精度浮点数,类似3.14159或49.0等。

* Boolean 布林型别,只可能出现两种值,TRUE或FALSE(真或非真)。

* NULL 一种特殊型别,其值只有可能为NULL。

* string 字串,是字元序列,类似「PHP4支援字串运算」这类的表示法。

* array 阵列,是对一些已经命名且建立索引之其它值的集合。

* object 物件,由程式设计者定义类别(class)的实例,可包装特定于该类

别的其它型别之值和函式。

* tesource 是一种特殊变数,用来存放参照到PHP外部的资源(例如资料库连线)

请注意Boolean、NULL与resource这些型别是PHP4所增加的型别,PHP3并不适用。

当然前面五种型别属于基本型另别,而接续两种(array与object)属于复合型别,这些复合型别可以用来将任意型别的任意值组成一群变数,但是基本型别却不行。我们在本章只会简短复合型别(array与object),因为它们会在各自所属章节详细介绍。最后,resource类型是PHP设计师不会直接处理的特殊型别,而是透过特殊函式来存取资源或是它们传递给所需要的其他函式。

简单型别

PHP中的简单型别(integer、double、Boolean、NULL和string)对于有程式设计经验的人来说一定很熟悉(虽然我们并非针对熟练的人,但我们还是要详细讲解它们)。唯一会让C语言程式设计者感到吃惊的可能就是PHP的型别怎么少。

大多数程式语言都有几种不同大小的数字型别,较大的数值型别允许值的范围更广,但也会占用更多的记忆体空间。例如,C语言有short型别(用于相对较小的整数),long型别(用于可能很大的整数)和int型别(这是种中间型别,但实际上不是和short就是和long型别相同),它还有不同精确度的浮点数类型,在记忆体使用和功能之间的取拾可能会令你烦恼,但这种型别选择还是很有意义的。PHP设计

来源:https://www.tulaoshi.com/n/20160129/1489237.html

延伸阅读
《暗黑血统Darksiders》流程攻略第六章:the Black Throne(终章) 前往 流程攻略第五章:the Black Throne 天堂地狱间的末日之战以及随之而来的人界灭亡,是由天使所一手促成的。天使对宇宙的混乱已无法容忍,于是Abaddon找来Azrael,密谋向地狱宣战:他们隐瞒焦灼议会而打破末日七封印当中的六个,以此引诱地狱集结兵力准备末日之...
《镜之边缘》攻略解说【完结】第六章 《镜之边缘》攻略解说【完结】第六章 (出处:) 《66663》平衡设计师退出团队 或转向镜之边缘2     最近,《66663》的核心游戏平衡设计师Alan Kertz在其个人Twitter(ID:Demize99)上宣布了他不再是《66663》开发团队中的一份子了。     当你听到这个消...
《神偷4》第六章密室狮子拼法图解 这个拼图有个误区真的好坑爹来的一开始的时候还以为只要把图像都拼完整了就可以了,后来才发现被惯性思维误导了。完整的图像只能开启一个狮子另外一个并不是要完整的图像才可以的。需要对照里边那只狮子右边木箱有缺口的地方透过缝隙观察锁盘的缺口方向,当所有所有锁盘的缺口都充着那个保险坠的时候才可以开启...
《失落的星球2》狩猎之旅第六章 Episode 6(上篇) 延续第四章的尾声,我们潜入太空梭飞上太空,企图夺取卫星轨道武器NEOS的控制权。第四章的前两个Chapter都在太空进行,由于宇宙的无重力/低重力状态,玩家的跳跃高度会大幅提升,在空中时再按一次A键可以朝前方喷射推进(操控特性类似先前的海中战斗)。 I believe I can fly~I belie...
标签: 游戏动漫
《荣誉勋章》战场详尽图文攻略纪实(第六章) 游戏下载 | XBOX360游戏图鉴  | XBOX360中文游戏 流程攻略 : ■ 第01章 ■ 第02章 ■ 第03章 ■ 第04章 ■ 第05章                        &n...

经验教程

670

收藏

15
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部