PHP的程序设计基础.ppt_第1页
PHP的程序设计基础.ppt_第2页
PHP的程序设计基础.ppt_第3页
PHP的程序设计基础.ppt_第4页
PHP的程序设计基础.ppt_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PHPWeb程序设计教程与实验 PHP简介 什么是PHP PHP 超文本预处理器 HypertextPreprocessor PHP是一种服务器端的脚本语言 类似ASPPHP脚本在服务器上执行PHP支持很多数据库 MySQL Informix Oracle Sybase Solid等等 PHP是一个开源的软件 opensourcesoftware OSS PHP简介 1 3 什么是PHP文件 PHP文件可包含文本 HTML标签以及脚本PHP文件向浏览器返回纯粹的HTMLPHP文件的文件后缀是 php php3 PHP简介 2 3 PHP简介 3 3 为什么要使用PHP PHP可在不同的平台上运行 Windows Linux Unix PHP与目前几乎所有的正在被使用的服务器相兼容 Apache IIS等 PHP易于学习 并可高效地运行在服务器端 程序不需要编译 直接解释执行 可从官方网免费下载资源 PHPWeb程序设计教程与实验 第5章PHP5的程序设计基础 第5章PHP5的程序设计基础 示例程序 5 1PHP5程序的语法结构 1 2 1 HTML文档嵌入PHP代码的方法可以把PHP的脚本块嵌入在HTML文档中的任何位置 常用方法有三种 1 简写形式 要求服务器支持简写 2 标准形式 推荐使用 以达到最好的兼容性 3 类似JavaScript形式echo PHP5程序代码 5 1PHP5程序的语法结构 2 2 2 语句分隔符PHP中的每个代码行都必须以分号结束 分号是一种分隔符 用于把指令集区分开来 另外 php结束标记 也意味着最后一个语句结束 3 PHP中的注释在PHP中 我们使用 来编写单行注释 或者使用 和 来编写大的注释块 5 2PHP5的数据类型 1 4 PHP5支持八种原始类型四种标量类型 布尔型 整型 浮点型 字符串二种复合类型 数组 对象二种特殊类型 资源 resource NULL 5 2PHP5的数据类型 2 4 1 布尔型取值为关键字FALSE或TRUE之一 两个都是对大小写不敏感 数值0表示FALSE 非0的任何一个数都表示TRUE 2 数值 数值可以是整型或浮点型 a 1234 十进制 a 0123 八进制 a 0 x12 十六进制 5 2PHP5的数据类型 3 4 3 字符串字符串可以是由单引号或双引号括起来的一串字符 两者区别如下 单引号除单引号和反斜线可用反斜线 转义之外 任何其它字符无法转义 即反斜线本身也会被显示出来 同时 字符串中出现的变量不会被变量的值替代 双引号除单引号和反斜线可用反斜线 转义之外 还可以转义更多特殊字符 表5 1 同时 字符串中出现的变量会被变量的值替代 5 2PHP5的数据类型 4 4 单引号与双引号字符串示例 echo first second output HelloWorld 5 3PHP5的常量和变量 1 9 5 3 1常量常量是一个简单值的标识符 名字 在脚本执行期间该值不能改变 使用define 函数来定义常量 格式如下 booldefine stringname mixedvalue boolcase insensitive 注 默认情况下 常量名对大小写敏感 即define函数的第三个参数取值为false 多种不同的类型 是否区分大小写 5 3PHP5的常量和变量 2 9 常量定义示例 echoConstant outputs Constant andissuesanotice echo define GREETING Helloyou true echoGREETING outputs Helloyou echo echoGreeting outputs Helloyou 5 3PHP5的常量和变量 3 9 常量的语法常量默认为大小写敏感 按照惯例常量标识符总是大写的 常量只能包含标量数据 boolean integer float和string 不要定义resource常量 常量前面没有美元符号 常量只能用define 函数定义 而不能通过赋值语句 常量是全局的 不受作用域范围的限制 可以在脚本的任何地方定义和访问常量 一些内置常量 P 93 5 3PHP5的常量和变量 4 9 5 3 2变量PHP中变量用于存储值 比如数字 文本字符串或数组 一旦设置了某个变量 就可以在脚本中重复地使用它 PHP中的所有变量都是以 符号开始的 后面跟上一个变量名称 如 var name value 变量都被限制到本地范围 而且如果是在函数中创建的 它们的生存期与函数的生存期是一样的 5 3PHP5的常量和变量 5 9 变量声明PHP是一门松散类型的语言 在PHP中不需要在设置变量之前声明该变量 在PHP中 变量会在使用时被自动声明 根据变量被设置的方式 PHP会自动地把变量转换为正确的数据类型 5 3PHP5的常量和变量 6 9 变量的命名规则变量名必须以字母或下划线 开头 变量名只能包含字母 数字字符以及下划线 变量名不能包含空格 如果变量名由多个单词组成 那么应该使用下划线进行分隔 比如 my string 或者以大写字母开头 比如 myString 变量名区分大小写 5 3PHP5的常量和变量 7 9 预定义变量 GLOBALS 包含指向当前程序中全局范围内有效的变量 它是一个数组 该数组的索引 或键名 就是全局变量的名称 SERVER 该全局变量是一个包含诸如头信息 路径和脚本位置的数组 常见的 SERVER的元素包括PHP SELF 当前正在执行的脚本的文件名 SERVER ADD 当前执行脚本所在服务器的IP地址 SERVER NAME 当前执行脚本所在服务器主机的名称 DOCUMENT ROOT 当前脚本所在文档的根目录 SCRIPT FILENAME 当前执行脚本的绝对路径 SCRIPT NAME 当前脚本的路径 HTTP REFERER 链接到当前页面的前一页面的URL 等 5 3PHP5的常量和变量 8 9 预定义变量 GET 通过HTTP的GET方法提交至脚本的表单变量 POST 通过HTTP的POST方法提交至脚本的表单变量 COOKIE 通过HTTP的Cookies方法提交至脚本的变量 例如 5 3PHP5的常量和变量 9 9 5 4PHP5的运算符和表达式 1 9 1 算术运算符算术运算符就是用来处理四则运算的符号 如下表 5 4PHP5的运算符和表达式 2 9 2 字符串运算符字符串运算符号只有一个并置运算符 就是英文的句号 用于把两个字符串值连接起来 变成一个合并后的新字符串 5 4PHP5的运算符和表达式 3 9 例5 2 n echo a b n echo a b n echo a b n echo a c n a echo a n c echo c 例5 3 5 4PHP5的运算符和表达式 4 9 3 比较运算符比较运算符用来比较两个相同类型的数据的大小 是否相等的关系 比较的结果是一个布尔型 值为TRUE或FALSE 如下表 5 4PHP5的运算符和表达式 5 9 例5 4 5 4PHP5的运算符和表达式 6 9 4 逻辑运算符逻辑运算符用来连接一个或两个布尔型的数据或表达式 逻辑运算的结果是一个布尔型 值为TRUE或FALSE 如下表 5 4PHP5的运算符和表达式 7 9 5 赋值运算符赋值运算符用来将一个表达式的值赋给一个变量 如下表 5 4PHP5的运算符和表达式 8 9 6 其它运算符除了上述的基本运算符号外 还有一些运算符号难以归类 其符号与意义如下表 5 4PHP5的运算符和表达式 9 9 7 表达式表达式是PHP最重要的基石 当操作数和操作符组合到一起时 它们即组成一个表达式 表达式是由一个操作符或多个操作符将操作数连接起来的式子 最基本的表达式形式是常量和变量 表达式加上一个分号结尾即为语句 8 运算符优先顺序 P 94 5 5PHP5程序的数据输入和输出 5 5 1数据输出利用PHP程序向用户浏览器输出数据的基本函数有回显函数echo和打印函数print 两者的功能几乎是完全一样 但存在一定的区别 echo和print实际上不是函数 因此无需对其使用括号 但在echo中可以同时输出多个字符串 而在print中则只可以同时输出一个字符串 echo运行速度比print快 5 5PHP5程序的数据输入和输出 echo print输出数据示例 echo 多个参数print This string was made with single parameters 产生语法错误print Thisstringwasmadewithsingleparameters print 一个参数 5 5 2数据输入 1 8 在PHP中实现数据输入的方法 数据输入 URL HTML表单 Cookie Session会话 5 5 2数据输入 2 8 方式一 通过在url地址后面附带输入数据 并通过访问全局数组 GET的方式来实现 数组元素的下标名必须与输入参数名一致 大小写也需一致 例如 1 在浏览器地址栏输入以下带有参数的URLhttp localhost echoexample php name Chen love tennis 2 在echoexample php程序中 通过访问全局数组 GET来获取输入数据 5 5 2数据输入 3 8 echoexample程序 5 5 2数据输入 4 8 方式二 利用表单来输入数据 并通过访问全局数组 POST的方式来实现 存储了用户浏览器中表单上的各个表单元素的值 数组元素的下标名必须与表单元素名一致 大小写也需一致 5 5 2数据输入 5 8 示例 利用表单来输入数据 1 定义HTML表单页面ex5 6 html 姓名喜爱的运动 5 5 2数据输入 6 8 2 定义接收HTML表单数据的PHP程序ex5 7 php 5 5 2数据输入 7 8 通过 REQUEST全局数组来获取输入数据PHP的 REQUEST全局数组包含了 GET POST以及 COOKIE的内容 可用来取得GET和POST方法发送的表单数据 1 修改echoexample程序中的代码 string1 GET name string2 GET love 可改为 string1 REQUEST name string2 REQUEST love 5 5 2数据输入 8 8 2 修改ex5 7程序中的代码 echo POST name echo 您喜爱的运动是 POST love 可改为 echo REQUEST name echo 您喜爱的运动是 REQUEST love 例5 8 例5 9 ex5 8 html 调查问卷姓名性别男女感兴趣的编程语言PHPVBVC ex5 9 php for i 0 i 5 6PHP5程序的流程控制语句 1 8 5 6 1分支结构语句1 if语句 四种形式 1 if 表达式 语句组 2 if 表达式 语句组1 else 语句组2 5 6PHP5程序的流程控制语句 2 8 3 if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达式n 语句n else 语句n 1 4 if endif通常用于嵌套一段HTML代码于if语句里 例5 10 例5 11 例5 12 b echo a b elseif b echo a等于b elseecho a if endif 5 6PHP5程序的流程控制语句 3 8 2 switch语句switch 表达式 case常量1 语句组1 break case常量1 语句组2 break default 语句组n 例5 13 5 6PHP5程序的流程控制语句 4 8 5 6 2循环结构语句1 while循环while循环用来在指定的条件内 不断地重复执行指定的语句 其语法如下 while 表达式 语句组 例5 14 n 5 6PHP5程序的流程控制语句 5 8 2 do while循环do while循环是先执行 再判断是否要继续执行 也就是说循环至少被执行一次 这种的循环和while循环是不同的 while循环是先判断再执行 其语法如下 do 语句组 while 表达式 例5 15 index while index 5 6PHP5程序的流程控制语句 6 8 3 for循环for循环是用得非常多的一种循环 它和C语言中相应语句的使用方法相同 其语法如下 for 表达式1 表达式2 表达式3 语句组 例如 5 16 n 5 6PHP5程序的流程控制语句 7 8 4 foreach语句foreach语句用于循环遍历数组或对象 PHP5之前的版本不支持遍历对象 其格式如下 foreach arrayasvalue 语句组 每进行一次循环 当前数组元素的值就会被赋值给value变量 数组指针会逐一地移动 5 6PHP5程序的流程控制语句 8 8 例 用foreach语句输出给定数组的值 5 6 3跳转语句 1 1 跳转语句有两个 break语句 用来跳出目前执行的循环 continue语句 用于停止目前执行的循环 并回到循环的条件判断处 例5 17 例5 18 5 7PHP5的数组 1 7 数组的作用 能够在单独的变量名中存储一个或多个值 1 数组的三种赋值方式 1 对每一个元素分别赋值 arr zoo pelican Birdwithabigbeak arr zoo cheetah fastcat arr zoo horse four leggedanimal 5 7PHP5的数组 2 7 2 同时对多个元素赋值 arr zoo array pelican Birdwithabigbeak cheetah fastcat horse four leggedanimal 数组可以同时包含整型和字符串型的索引 如果对给出的值没有指定索引 则取当前最大的整数索引值 而新的索引将是该值加一 arr zoo array 1 434 jake 23firstlane 6 5 four leggedanimal 等同于 arr zoo array 0 1 1 434 jake 23firstlane 6 5 7 four leggedanimal 5 7PHP5的数组 3 7 3 在数组的下一个空位上增加一个元素 第一个位置是0 第二个位置是1 以此类推 arr zoo Birdwithabigbeak arr zoo fastcat arr zoo four leggedanimal 5 7PHP5的数组 4 7 2 数组的三种取值方式 1 使用数字作为数组下标 value arr zoo 1 value arr zoo 1 下标自动转换为数值 value arr zoo 1 下标自动转换为数值 2 使用字符串作为数组下标 value arr zoo cheetah value arr zoo cheetah 注意 应该始终在用字符串表示的数组索引上加上引号 单引号或双引号均可 5 7PHP5的数组 5 7 3 使用标量变量作为数组下标 key 1 value arr zoo key key cheetah value arr zoo key 5 7PHP5的数组 6 7 3 多维数组在多维数组中 主数组中的每个元素也是一个数组 在子数组中的每个元素也可以是数组 以此类推 arr array array1 array 0 11 1 12 2 13 array2 array 0 21 1 22 2 23 array3 array 0 31 1 32 2 33 5 7PHP5的数组 7 7 4 删除数组元素如果要删除一个数组元素 索引 值对 可以使用unset函数 如下 1 12 2 arr 56 增加一元素 即 arr 13 56 arr x 42 增加一元素 其索引为 x unset arr 5 删除元素 arr 5 unset arr 删除整个数组 arr 5 8函数 1 14 5 8 1函数定义在PHP中 函数的定义必须使用关键字function开头 并且函数名的命名必须以字母或下划线开头 其后跟字母 数字或下划线 其语法格式如下 function函数名 参数列表 函数体语句 return表达式 注 函数名是非大小写敏感的 不过在调用函数的时候 通常使用其在定义时相同的形式 5 8函数 2 14 5 8 2函数调用定义了函数之后 可以通过调用函数 执行函数的功能 其调用格式为函数名 实参列表 1 返回值PHP中的函数即可以包含返回值 也可以无返回值 且返回值可以是任何类型 包括数组和对象 通常情况 如果函数需要返回多个值 则可以通过返回数组的方法来实现 例5 19 返回值 5 8函数 3 14 2 函数参数传递通过参数列表可以传递信息到函数 该列表是以逗号作为分隔符的变量和常量列表 PHP支持按值传递 通过引用传递以及默认参数等三种参数传递形式 缺省情况下 函数参数通过值传递 因而即使在函数内部改变参数的值 也不会改变函数外部的值 如果希望允许函数修改它的参数值 必须通过引用传递参数 要求在定义函数时 在该参数前面预先加上引用符号 5 8函数 4 14 例 用引用传递函数参数 5 8函数 5 14 3 默认参数的值 1 PHP函数可以定义C 风格的标量参数默认值 如下 例5 20运行结果 Makingacupofcappuccino Makingacupofespresso 5 8函数 6 14 2 PHP还允许使用数组和特殊类型NULL作为默认参数 例如 5 8函数 7 14 注意 参数的默认值必须是常量表达式 不能是变量 类成员或者函数调用 当使用默认参数时 任何默认参数必须放在任何非默认参数的右侧 否则 可能函数将不会按照预期的情况工作 5 8 3函数和变量的作用域1 函数参数的作用域 P 110 2 变量作用域范围变量的作用域指的是变量的有效范围 分全局变量和局部变量 在自定义函数内部生成的变量将使用局部作用域 而在任何函数外部生成的变量则使用全局变量作用域 局部作用域的含义就是 当执行函数时函数内的变量才存在 一旦执行结束 这些变量就会被清除 5 8函数 8 14 全局作用域的含义指的是全局变量在文件范围内都不会被清除 除非程序停止执行 但全局变量在函数内部却是不可见的 如果需要在函数内部使用全局变量 则需要在函数中使用global进行变量申明 如下 5 8函数 9 14 对于一个函数能够申明的全局变量的最大个数 PHP没有限制 在函数内部使用全局变量的第二个办法 是用PHP内置的超全局变量 GLOBALS数组 例如 前面的例子可以写成 5 8函数 10 14 在 GLOBALS数组中 每一个变量为一个元素 索引对应变量名 值对应变量的内容 3 使用静态变量变量的作用范围另一个重要特性是静态变量 staticvariable 静态变量仅在局部函数域中存在 但当程序执行离开此作用域时 其值并不丢失 此例中 每调用Test 函数都会输出 a的值并加1 5 8函数 11 14 静态变量的另一种作用 提供了一种处理递归函数的方法 递归函数是一种调用自己的函数 写递归函数时要小心 因为可能会无穷递归下去 因此 必须确保有充分的方法来中止递归 以下这个简单的函数递归计数到10 通过使用静态变量 count来判断何时停止 5 8函数 12 14 例 静态变量与递归函数 5 8函数 13 14 注意 静态变量可以按照上面的例子声明 即使用数值或字符串对其赋值 但如果在声明中使用表达式的结果对其赋值则会导致解析错误 例 声明静态变量的错误方式 5 8函数 14 14 5 9文件包含 1 11 文件包含的概念在PHP中 文件包含有两种方式 即include 和require 函数 通过include 或require 函数 可以在服务器执行PHP文件之前在该文件中插入另一个文件的内容 如函数 页面元素等 include和require的区别include 和require 函数除了处理错误的方式不同之外 这两个函数在其他方面都是相同的 include 函数会生成一个警告 但是脚本会继续执行 而require 函数会生成一个致命错误 在错误发生后脚本会停止执行 5 9文件包含 2 11 include和require的用途这两个函数用于创建可在多个页面重复使用的函数 页眉 页脚或元素 这会为开发者节省大量的时间 这意味着开发者可以创建供所有网页引用的标准页眉或菜单文件 当页眉需要更新时 只更新一个包含文件就可以了 或者当向网站添加一张新页面时 仅仅需要修改一下菜单文件 而不是更新所有网页中的链接 5 9文件包含 3 11 include 函数的使用利用include 函数可获得 获得方式见书P 112 指定文件中的所有代码 并把代码拷贝到使用include函数的文件中 当一个文件被包含时 被包含文件的代码继承了include函数所在行的变量范围 即include函数所在行处可用的任何变量 在被包含文件中也都可用 5 9文件包含 4 11 例1 包含文件的变量范围 程序1 文件名为vars php 其内容如下 程序2 文件名为test php 其内容如下 5 9文件包含 5 11 例2 在多个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论