PHP学习宝典-第六章(续篇)

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

PHP学习宝典-第六章(续篇),PHP学习宝典-第六章(续篇)

【 tulaoshi.com - PHP 】

字串中的换行符号

虽然PHP为换行符号提供了一个跳脱转义序列(
),但让你知道能够在字串中间从字面上加入换行符号也不错,PHP同样能够处理这种形式。在建立HTML字串时这样会很方便,因为浏览器会忽略(
)换行符号,因此可以用换行符号格式化字串,使得PHP程式码行更短:

 

在文字编辑器中,在前两行尾端隐藏按「Enter」键,这些换行符号保留在字串中,因此一条print叙述可以产生三行PHP输出(行的长度则取决于各种不同编辑器,如果编辑器在显示它们时自动换行,就会看到实际是一长条的三行程式码)。不过浏览器程式会忽略这些换行符号,并自己决定显示时是否换行以及在何处换行,此外如果使用你的浏览器的检视原始码观察原始码的话你会看到这些换行。

限制

对于字串长度没有什么人为的限制,只要在可用的记忆限度内即可,一般应该能不去限制字串长度

阵列

PHP的阵列型别使得程式设计者能够将许多不同型别的值组织在一起,并按照字(也可以按名称)对其进行索引。如果你发现自己在使用名字类似$ thing1、$thing2、 $thing3之类的变数,那就建议你应该采用阵列($things[1]、$thing[2]、 $thing[3]等)。阵列元素是透过方括号中的索引(在这个例子子中是)[1]、 [2]、 [3]等)来使用的,不同型别的元素可指定到同一个阵列中。

学习PHP阵列的最好方式就是透过范例。下面是一些简单的程式范例子,在第一次指定前和指定后查看阵列变数的内容:

 


让我们来说明第一次指定前和指定后发生的什么。在指定前,尽管有了名字,但PHP并不知道变数$my_array的目的是要成为一个阵列,只把它当成与其它变数一样的未指定变数。这意思是说在该变数括到双引号字串时,变数被解释为空字串。阵列索引所参照引用([5])到未指定的变数时一样会作未指定变数。结果是前三条print叙述都以[is]为结尾。

指定之后,$my_array正式成为一个阵列,而结果是在含到双引号字串时列印出「Array」字串。由数字5索引的阵列格已填入了字串「Slot#6」(实妹上,在大多数程式语言中,阵列元素是从0开始计数的)因此可用编号5的索引取字串。这是唯一发生变化的地方$my_array 的第0格还是没有东西,所以和之前一样没有变化。

阵列的执行

阵列是PHP最酷且最有用的功能之一,虽然它们看上去好像类似其它语言中的阵列,但实际上是相当不贩方式来实行的。

在大多数程式设计语言中,会用类似下面的语句来宣告一个阵列:

Int int_array[10] ;//这不是PHP语法呼和哦!

该语句总共会记忆体中设置十个连续的整数,这些变数可按照int_array范围为0 ~9的编号索引来存取。

另一方面,PHP阵列是可以相互结合的,当进行阵列指定时,实际上添加一个新的囝列格,把它和一个新的索引组合在一起,这个索引可用来获取该值[对于熟悉准凑表(hash table)的程式设计来说这是很有意义的,PHP阵列更像其它语言中的准凑表]。

这里暗示了一件事,那就是读者不用担心指定一个数量非常高的阵列格,例如:

My_ayyay[100000000]= not scary//这个就没问题了

因为这样设的结果并不会真的出现很很多的格位,中间那些格位都不存在,因此也不会占用任何记忆体。

字串做为阵列索引

到目前为止,我们的阵列范例子只使用整数来索引编号,其实PHP也可以使用字串值做为索引,例如:

$tasty[‘Spanish’]= paella;

$tast [‘Japanese’]= sashimi;

$tast [‘Scottish’]= haggis?;

这些索引与数字索引的使用方式相同,而且数字和字串索引可用于同一个阵列,它们不会有冲突。

结构型别怎么不见了?

有些程式语言(C、Pascal)提供了「结构(structure)」或「纪录(record)」型别,允许把不同型别的变数包装在一起。这样的语言中,选择复合型别的基本原则是:如果包含水量的所有值是同一型别的,否则就使用结构。

现在的PHP有了物件型别(object type),它除了有更特殊的属性外,也有类似纪录或结构型别的特性。然而在介绍物件之前,PHP也并不真正需要结构型别,因为PHP的阵列并没有限制只能使用一种型别的值。如果从有结构型别的语言中把程式码尊字典转到PHP中,有种可能性就是利用可结合的阵列,并使用字串索引,分别对应原来的栏位名称。

其它阵列特性

其实本章只会粗浅介绍阵列,另外,阵列还可以是多维的,可以用许多不同方法指定,并且还有许多

来源:http://www.tulaoshi.com/n/20160129/1489224.html

延伸阅读
《魔法对抗(magicka)》第六章boss打法 《魔法对抗(magicka)》路人体验 level 1 《魔法对抗(magicka)》视频攻略 《魔法对抗(magicka)》11关黑龙boss快速杀法 开战前上护盾,开战后迅速传送到BOSS肚子边上,使用召唤死神(s+r+rq+r+s+空格),再立刻传送走。黑龙BOSS就OVER了。 《魔法对抗(magicka)》第六章boss打法 ...
标签: PHP
老练的程序设计师可能较不需客外学习,并可以将PHP当做任何其它伺服端程序语言来主生HTML给浏览器以及使用其它用途上,大多数这些程序设计师较喜欢简单的文字编辑器,通常这样的软体会提供你一些有用的工具,例如语法颜色强调,括号成对比对,或是tag自动结束,大多数这些功能只是用来帮助你的无心之过,但是却不会真正帮你写程序...
《暗黑血统Darksiders》流程攻略第六章:the Black Throne(终章) 前往 流程攻略第五章:the Black Throne 天堂地狱间的末日之战以及随之而来的人界灭亡,是由天使所一手促成的。天使对宇宙的混乱已无法容忍,于是Abaddon找来Azrael,密谋向地狱宣战:他们隐瞒焦灼议会而打破末日七封印当中的六个,以此引诱地狱集结兵力准备末日之...
《失落的星球2》狩猎之旅第六章 Episode 6(上篇) 延续第四章的尾声,我们潜入太空梭飞上太空,企图夺取卫星轨道武器NEOS的控制权。第四章的前两个Chapter都在太空进行,由于宇宙的无重力/低重力状态,玩家的跳跃高度会大幅提升,在空中时再按一次A键可以朝前方喷射推进(操控特性类似先前的海中战斗)。 I believe I can fly~I belie...
《镜之边缘》攻略解说【完结】第六章 《镜之边缘》攻略解说【完结】第六章 (出处:) 《66663》平衡设计师退出团队 或转向镜之边缘2     最近,《66663》的核心游戏平衡设计师Alan Kertz在其个人Twitter(ID:Demize99)上宣布了他不再是《66663》开发团队中的一份子了。     当你听到这个消...

经验教程

479

收藏

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