资源预览内容
第1页 / 共84页
第2页 / 共84页
第3页 / 共84页
第4页 / 共84页
第5页 / 共84页
第6页 / 共84页
第7页 / 共84页
第8页 / 共84页
第9页 / 共84页
第10页 / 共84页
亲,该文档总共84页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
PHP 5 手册 章 5. 基本语法 目录 从 HTML 中分离 指令分隔符 注释 从 HTML 中分离 PHP 的脚本由文件中一对特殊的标记所引起的内容,当解释器分析一个文件时,所有特殊 标记外的普通文件,解释器不对其做任何处理,而特殊标记内文件将作为 PHP 代码被解释 器分析执行。该运行机制将允许您在 HTML 中嵌入 PHP 代码:PHP 标记外的内容将被完 全独立开,不做任何处理,而内部的将作为 PHP 代码解析。 用来标记 PHP 代码块的标记共有四套,其中只有两套总是有效( 和 . . .) ;另外两套可以在 php.ini 配置文件中开启或者关闭。虽然短 格式的标记和 ASP 风格的标记可能比较省力, 但是某些情况下您可能必须要使用长格式的 标记。比如,您打算在 XML 或者 XHTML 中嵌入 PHP 代码,您将需要使用 形式的标记以适应 XML 的标准。 PHP 支持的标记为: 例子 5-1. 从 HTML 中分离的方式 1. 2. This is a shortcut for “ 3. echo (“some editors (like FrontPage) dont like processing instructions“); 4. 优先选用的方式为第一种方式 , 因为它允许您在 XML 结构, 如 XHTML 的代 码中使用 PHP。 第二种方式并非总是可用的。 只有当您在 php.ini 配置文件中激活 short_open_tag 选项, 才 是 可 用的 。您 也可 以通 过 使用 short_tags() 函 数 (仅 用于 PHP 3) , 或者 使用 -enable-short-tags 选项 configure PHP 来激活短格式标记。在 php.ini-dist 配置文件中,默 认是开启短格式标记的,但是建议您不要使用该标记。 在 PHP 配置文件中开启选项 asp_tags 将激活第四种方式。 注: ASP 风格的标记添加于 PHP 3.0.4 注: 当开发大型应用程序或者用于分发的函数库,或者在不受您控制的 PHP 服务器上面开 发程序时,请不要使用短格式的标记,因为目标服务器可能并不支持短格式的标记。为了便 于移植,请保证用于再分发的代码中不使用短格式的标记。 PHP 代码块结束标记奖自动包含最近的一个结尾的新行(如果存在的话) 。而且,结束标记 自动隐含一个分号; 您不需要为 PHP 代码块的最后行追加一个分号。 PHP 允许您使用如下的结构: 例子 5-2. 更高级的脱离 This is true. This is false. PHP 将直接输出结束标记和下一个开始标记中的任何非 PHP 代码。当需要输出大量的文 本时, 退出 PHP 解析模式将比使用 echo() 或者 print() 或者此类的函数打印所有文本要更 加的有效。 指令分隔符 指令分隔方式与 C 或者 Perl 类似 - 每个语句由分号格开。 结束标记(?)同样隐含语句的结束,因此下面的代码是等价的: 注释 PHP 支持 C,C+ 和 Unix Shell 风格的注释。例如: “单行”注释仅仅注释到行末或者当前的 PHP 代码块,视乎哪个首先出现。 This is an example. The header above will say This is an example. 小心不要嵌套 C 风格的注释,当注释大量代码时,可能犯该错误。 “单行”注释仅仅注释到行末或者当前的 PHP 代码块,视乎哪个首先出现。这意味着 / ? 后面的 HTML 代码将被打印出来: ? 跳出了 PHP 模式并且返回 HTML 模式, 而且 / 注 释符并不会影响到模式的转换。 章 6. 类型 目录 介绍 布尔型 整型 浮点型 字符串 数组 对象 资源 NULL 本文档中使用的伪类型 类型戏法 介绍 PHP 支持八种原始类型。 四种标量类型: 布尔型(boolean) 整型(integer) 浮点型(float) (浮点数,也作“double” ) 字符串(string) 两种复合类型: 数组(array) 对象(object) 最后是两种特殊类型: 资源(resource) NULL 为了确保代码的易读性,本手册还介绍了一些伪类型: 混和(mixed) 数字(number) 回馈(callback) 您可能还会读到一些关于“双精度(double) ”类型的参考。实际上 double 和 float 是相同 的,由于一些历史的原因,这两个名称同时存在。 变量的类型通常不是由程序员设定的,确切地说,是由 PHP 根据该变量使用的上下文在运 行时决定的。 注: 如果你想查看某个表达式的值和类型,用 var_dump()。 注: 如果你只是想得到一个易读懂的类型的表达方式用于调试,用 gettype()。要查看某个类 型,不要用 gettype(),而用 is_type 函数。以下是一些范例: 如果你要将一个变量强制转换为某类型,可以对其使用强制转换或者 settype() 函数。 注意变量根据其当时的类型在特定场合下会表现出不同的值。更多信息见类型戏法。此外, 你还可以参考 PHP 类型比较表看不同类型相互比较的例子。 布尔型 这是最简单的类型。boolean 表达了真值,可以为 TRUE 或 FALSE。 注: 布尔类型是 PHP 4 引进的。 语法 要指定一个布尔值,使用关键字 TRUE 或 FALSE。两个都是大小写不敏感的。 通常你用某些运算符返回 boolean 值,并将其传递给流程控制。 / = is an operator which test / equality and returns a boolean if ($action = “show_version“) echo “The version is 1.23“; / this is not necessary. if ($show_separators = TRUE) echo “n“; / .because you can simply type if ($show_separators) echo “n“; 转换为布尔值 要明示地将一个值转换成 boolean, 用 (bool) 或者 (boolean) 来强制转换。 但是很多情况下 不需要用强制转换,因为当运算符,函数或者流程控制需要一个 boolean 参数时,该值会 被自动转换。 参见类型戏法。 当转换为 boolean 时,以下值被认为是 FALSE: 布尔值 FALSE 整型值 0(零) 浮点型值 0.0(零) 空白字符串和字符串 “0“ 没有成员变量的数组 没有单元的对象 特殊类型 NULL(包括尚未设定的变量) 所有其它值都被认为是 TRUE(包括任何资源) 。 警告 -1 和其它非零值(不论正负)一样,被认为是 TRUE! 整型 一个 integer 是集合 Z = ., -2, -1, 0, 1, 2, . 中的一个数。 参见任意长度整数 / GMP,浮点数 和 任意精度数学库 / BCMath。 语法 整型值可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(- 或者 +) 。 如果用八进制符号,数字前必须加上 0(零) ,用十六进制符号数字前必须加上 0x。 例子 6-1. 整数文字表达 在字面上,整型变量正式的结构可以为: 整型数的字长和平台有关,尽管通常最大值是大约二十亿(32 位有符号) 。PHP 不支持无 符号整数。 整数溢出 如果你指定一个数超出了 integer 的范围,将会被解释为 float。同样如果你执行的运算结 果超出了 integer 范围,也会返回 float。 警告 不幸的是 PHP 中有个 bug,因此当有负数参与时结果并不总是正确。例如当运算 -50000 * $million 时结果是 -429496728。不过当两个运算数都是正数时就没问题。 这个问题已经在 PHP 4.1.0 中解决了。 PHP 中没有整除的运算符。1/2 产生出浮点数 0.5。您可以总是舍弃小数部分,或者使用 round() 函数。 转换为整形 要明示地将一个值转换为 integer,用 (int) 或 (integer) 强制转换。不过大多数情况下都不 需要强制转换,因为当运算符,函数或流程控制需要一个 integer 参数时,值会自动转换。 您还可以通过函数 intval() 来将一个值转换成整型。 参见类型戏法。 从布尔值转换 FALSE 将产生出 0(零) ,TRUE 将产生出 1(壹) 。 从浮点数转换 当从浮点数转换成整数时,数字将被取整(丢弃小数位) 。 如果浮点数超出了整数范围(通常为 +/- 2.15e+9 = 231) ,则结果不确定,因为没有足够的 精度使浮点数给出一个确切的整数结果。在此情况下没有警告,甚至没有任何通知! (译者注: )在 Linux 下返回结果是最小负数(-2147483648) ,而在 Windows 下返回结果 是零(0) 。 警告 决不要将未知的分数强制转换为 integer,这样有时会导致意外的结果。 更多信息见浮点数精度。 从字符串转换 参见字符串转换为数字。 从其它类型转换 注意 没有定义从其它类型转换为整型的行为。 目前的行为和值先转换为布尔值一样。 不过不要依 靠此行为,因为它会未加通知地改变 浮点型 浮点数(也叫“floats” , “doubles”或“real numbers” )可以用以下任何语法定义: 形式上: LNUM 0-9+ DNUM (0-9*.LNUM) | (LNUM.0-9*) EXPONENT_DNUM ( (LNUM | DNUM) eE+-? LNUM) 浮点数的字长和平台相关, 尽管通常最大值是 1.8e308 并具有 14 位十进制数字的精度 (64 位 IEEE 格式) 。 浮点数精度 显然简单的十进制分数如同 0.1 或 0.7 不能在不丢失一点点精度的情况下转换为内部二进 制的格式。这就会造成混乱的结果:例如,floor(0.1+0.7)*10) 通常会返回 7 而不是预期中 的 8,因为该结果内部的表示其实是类似 7.9999999999.。 这和一个事实有关,那就是不可能精确的用有限位数表达某些十进制分数。例如,十进制的 1/3 变成了 0.3333333. . .。 所以永远不要相信浮点数结果精确到了最后一位, 也永远不要比较两个浮点数是否相等。 如 果确实需要更高的精度,应该使用任意精度数学函数库或者 gmp 函数库。 转换为浮点数 如果您希望了解有关何时和如何将字符串转换成浮点数的信息, 请查阅标题为 “将字符串转 换为数字”的有关章节。对于其它类型的值,其情况类似于先将值转换成整型,然后再转换 成浮点。请参阅“转换为整型”有关章节以获取更多信息。 字符串 string 是一系列字符。在 PHP 中,字符和字节一样,也就是说,一共有 256 种不同字符 的可能性。这也暗示 PHP 对 Unicode 没有本地支持。请参阅函数 utf8_encode() 和 utf8_decode() 以了解有关 Unicode 支持。 注: 一个字符串变得非常巨大也没有问题,PHP 没有给字符串的大小强加实现范围,所以 完
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号