PHP程序设计.doc_第1页
PHP程序设计.doc_第2页
PHP程序设计.doc_第3页
PHP程序设计.doc_第4页
PHP程序设计.doc_第5页
免费预览已结束,剩余38页可下载查看

下载本文档

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

文档简介

PHP 程序设计 实验指导书 主编教师 张海燕 烟台南山学院 PHP 程序设计实验指导书 1 目录目录 实验一实验一 架设架设 WINDOWS 下的下的 PHP 开发测试服务器开发测试服务器 4 0 实验准备实验准备 4 0 1 系统环境和 PHP 相关软件 开发工具 4 0 2 实验目的 4 0 3 实验中的路径说明 4 1 PHP 的安装和配置的安装和配置 4 1 1 安装 4 1 2 配置 5 2 APACHE 的安装和配置的安装和配置 5 2 1 安装软件 5 2 2 配置服务 5 3 APACHE WEB 服务的安装和启动服务的安装和启动 6 4 测试测试 APACHE 服务器对服务器对 PHP 的支持能力的支持能力 6 5 MYSQL 的安装和启动数据库服务器的安装和启动数据库服务器 6 6 测试测试 PHP 与与 MYSQL 的协同的协同 7 实验二实验二 PHP 基本语法实验基本语法实验 8 0 实验准备实验准备 8 0 1 实验环境和相关工具软件 8 0 2 实验目的和内容 8 0 3 实验中的约定 9 1 词法结构词法结构 9 1 1 大小写敏感 9 1 2 语句和分号 10 1 3 注释 10 1 4 标识符 常量标识符 11 2 数据类型数据类型 11 2 1 字符串 11 2 2 布尔型 12 2 3 数组型 12 2 4 对象型 13 2 5 资源型 13 2 6 数据类型的检测 15 3 变量变量 15 烟台南山学院 PHP 程序设计实验指导书 2 3 1 变量的变量 15 3 2 变量的作用域 17 3 3 垃圾收集 18 4 表达式和操作符表达式和操作符 20 4 1 隐式类型转换 20 4 2 字符串连接操作符 21 4 3 自增自减操作符 22 4 4 类型转换操作符 22 4 5 其他操作符 23 5 流控制语句流控制语句 23 5 1 IF语句 23 5 2 SWITCH语句 26 5 3 WHILE语句 27 5 4 FOR语句 28 5 5 FOREACH语句 28 5 6 EXIT语句 28 5 7 RETURN语句 28 6 包含代码包含代码 28 7 在页面中嵌入在页面中嵌入 PHP 30 实验三实验三 HTML 基础实验基础实验 31 0 实验准备实验准备 31 0 1 实验环境和相关工具软件 31 0 2 实验目的 31 0 3 实验内容 31 0 4 实验中的说明 32 1 HTML 基本架构基本架构 32 2 最简单的表单和表单对象的使用最简单的表单和表单对象的使用 32 实验四实验四 MYSQL 基础实验基础实验 33 0 实验准备实验准备 33 0 1 实验环境和相关工具软件 33 0 2 实验目的 33 0 3 实验内容 33 实验五 系统建模与前台 新闻列表实验五 系统建模与前台 新闻列表 新闻查看 设计新闻查看 设计 34 0 实验准备实验准备 34 0 1 实验环境和相关工具软件 34 烟台南山学院 PHP 程序设计实验指导书 3 0 2 实验目的和内容 34 1 实验具体环节实验具体环节 34 1 1 系统建模 34 1 2 系统实现 35 实验六 后台管理 新闻管理实验六 后台管理 新闻管理 人员管理 程序设计人员管理 程序设计 37 0 实验准备实验准备 37 0 1 实验环境和相关工具软件 37 0 2 实验目的和内容 37 1 实验具体环节实验具体环节 37 1 1 新闻录入程序设计 37 1 2 新闻修改程序设计 38 1 3 人员信息添加程序设计 38 实验七 后台管理 身份认证与后台系统集成 程序设计实验七 后台管理 身份认证与后台系统集成 程序设计 39 0 实验准备实验准备 39 0 1 实验环境和相关工具软件 39 0 2 实验目的和内容 39 1 实验具体环节实验具体环节 40 1 1 认证界面 DENGLU PHP 40 1 2 认证程序 JIANCHA PHP 在数据库中检查具有该帐号和密码的用户是否存在 存在则取出该用户资料 如RENYUANID 存到SESSION变量中去 然后转向HOUTAIGUANLI PHP 40 1 3 身份把关程序 40 1 4 后台管理集成界面 总界面 HOUTAIGUANLI PHP 集成后台管理所有功能 是通向各管理功能程序的 领航处 出发点 实现很简单 使用 HTML 的超链接技术即可实现 41 1 5 新闻系统后台程序关系流程图 41 烟台南山学院 PHP 程序设计实验指导书 4 实验一 架设 Windows 下的 PHP 开发测试服务器 0 实验准备 0 1 系统环境和 PHP 相关软件 开发工具 操作系统 WindowX Windows95 98 me XP NT 系列 2000 系列 2003 具体到的机房环境 请在 Windowsxp 环境下做 Web 服务器 Apache 2 0 63 压缩包文件 apache 2 0 63 win32 exe PHP PHP5 2 11 压缩包文件 php 5 2 11 Win32 zip 数据库 MySQL 5 1 39 压缩包文件 mysql essential 5 1 39 win32 zip 脚本编辑器 EditPlus 已安装好 图形化编辑环境 速度慢 功能多 常用于复杂网页设计 注 PHP 相关软件 开发工具的获得 相关软件 开发工具的获得 在我的 ftp 上下载 0 2 实验目的 能够快速部署 Windows 下的开发测试服务器环境 以满足同学们在宿舍 家中自己机器上学习 研究和 开发 PHP 程序设计的需要或是实际工作的需要 0 3 实验中的路径说明 为说明问题的简单起见 路径为比较简单的示例路径 但已经过测试 实际运用时 路径完全可根据自 己需要设定 1 PHP 的安装和配置 1 1 安装 下载 PHP 5 2 5 Win32 ZIP 软件包 不需要安装 在 C 盘根目录下建立文件夹 C php 将软 件包解压缩到本目录下 在 C php 目录下找到 php ini dist 文件 将其名字改为 php ini 这是 php 的配置文件 修改 php ini 文件 过程如下 1 找到 extension dir 改为 extension dir C php ext 2 找到 extension php mbstring dll 去掉前面的 3 找到 extension php mysql dll 去掉前面的 4 找到 extension php mysqli dll 去 掉前面的 修改完 php ini 文件后 保存该文件 并复制到 C Windows 目录下 将 C PHP libmysql dll 复制到 C windows system32 目录下 注 操作系统安装目录 具体位置见表1 烟台南山学院 PHP 程序设计实验指导书 5 表 1 操作系统安装目录 操作系统操作系统安装目录 Windows95windows Windows98windows Windows mewindows windows Windows NT 系列winnt Windows 2000 系列winnt Windows 2003windows 1 2 配置 通过修改 php ini 中的参数来实现 对 MySQL 而言 若无特殊要求 一般无须配置 因为 PHP 在 php ini 中已经做好了对 MySQL 的配置 所以一般无须修改 2 Apache 的安装和配置 2 1 安装软件 双击 apache 2 0 63 win32 exe 按照提示 选择 custom 安装方式 然后一路默认 即完成安装 注意 如果您的电脑安装了 IIS 请先到控制面板关闭 IIS 服务 因为 IIS 服务器与 Apache 服务器都使用 一个端口 2 2 配置服务 单击 开始 程序 Apache HTTP Server 2 2 Configure Apache Server Edit the Apache httpd conf configuration File 打开 Apache 的配置文件 httpd conf 按表 2 提示进行配置 注意 每处的配置要想起作用 必须将行首的 号 注释符号 去掉 表示一个或多个空格 表 2 Apache 配置 序号参数名和示例参数值配置方法说明 BindAddress 你所用机器的 IP 地址 修改地址绑定 指定服务器地址 LoadModule php5 module c php sapi php5apache dll 添加将 PHP 配置为 Apache 的模块 Apache module 方式 Port 80 修改指定端口 ServerAdmin 你的邮箱地址 如 ssl 修改指明管理员信箱 ServerName ssl 修改指明主机名称 DocumentRoot d Website htdocs 修改Web 文档发布主目录 修改该处目录应与 Web 文档发布主目录一致 ScriptAlias php c php AddType application x httpd php php Action application x httpd php php php exe 添加指明脚本路径 指明 PHP 脚本扩展名 指明 PHP 脚本解释器程序名 DirectoryIndex index htm index php 修改指定默认文档 描述以 httpd conf 文件的行文顺序进行 表中路径 地址 主机名 信箱等 实际配置时请根据自己情况进行 烟台南山学院 PHP 程序设计实验指导书 6 按表 1 所述 参考 Apache 配置文件样本 修改完毕后 保存 测试配置是否成功 1 在编辑完成后 我们还可以通过 开始 程序 Apache HTTP Server 2 2 Configure Apache Server Test Configuration 来测试配置文件是否有语法错误等 2 或者打开浏览器敲入 http localhost 能否见到服务器到测试页面 能见到则配置成功 3 Apache Web 服务的安装和启动 1 启动 Apache 服务 单击 开始 程序 Apache HTTP Server 2 2 Control Apache service Start 默认情况下 每次操作系统启动时自动启动该服务 可更改 4 测试 Apache 服务器对 PHP 的支持能力 测试目的 检验配置后的 Apache 服务器是否提供了对 PHP 脚本的解释能力 支持 PHP 用 EditPlus 编写测试脚本 存为 d Website htdocs ceshi php 内容为 说明 phpinfo 是 PHP 内置函数 用来显示 PHP 和 Apache 配置信息 在浏览器中敲入 http localhost ceshi php 回车后若显示类似图 1 的 PHP 配置页面 以 Winxp 下为例 则说明你的 Apache 服务器已经支持 PHP 脚本 能够解释 PHP 脚本了 若不显示类似画面 则配置有误 此时你的 Apache 不能够解释 PHP 脚本 需重新配置 图 1 5 MySQL 的安装和启动数据库服务器 将 mysql essential 5 1 39 win32 zip 解压缩后 双击 setup exe 按照提示 选择 custom 安装方 式 然后一路默认 遇到输入密码的地方 输入 123 作为密码 测试安装是否成功 单击 开始 选择 MySQL MySQL Server5 1 MySQL Command Line Client 会出现如下图所示的窗口 然后输入 root 密码 根据提示操作即可 烟台南山学院 PHP 程序设计实验指导书 7 6 测试 PHP 与 MySQL 的协同 PHP 方面 准备测试脚本方面 准备测试脚本 connect php 存放在 存放在 d Website htdocs 下 其内容为 下 其内容为 程序 2 13 CONNECTION MYSQL CONNECT 127 0 0 1 ROOT 123 OR DIE 不能连接到 MYSQL 数据库 MYSQL ERROR ECHO 已经成功连接 MYSQL 数据库 MYSQL SELECT DB TEST OR DIE 不能选择数据库 ECHO 连接TEST数据库已经成功 1 测试步骤 在浏览器地址栏输入 http localhost connect php 回车 显示如图 2 所示 则表明 PHP 与 MySQL 能 够协同工作了 图 2 烟台南山学院 PHP 程序设计实验指导书 8 实验二 PHP 基本语法实验 0 实验准备 0 1 实验环境和相关工具软件 具体到的机房环境 请在 Windowsxp 环境下做本实验 操作系统 Windowsxp Web 服务器 Apache 2 0 63 默认发布文档路径 c Apache htdocs PHP PHP5 2 11 安装路径 c php 数据库 MySQL 5 1 39 使用默认路径 脚本编辑器 记事本 或 EditPlus v3 11 463H 或 Macromedia Dreamweaver MX 中文版 注意 注意 使用以上脚本编辑器 若要保存为 php 文件 必须在保存时指明扩展名为 php 尤其是记事本 必须在保存时 单击 保存类型 下拉框 选择 所有文件 类型 然后指定 文件扩展名是 php 单击 保存 按钮后 保存的文件才能保证是 php 文件 常见错误是直接保存 导致 保存的文件其实是文本文件 如 abc php txt 等以 txt 为扩展名的文本文件 0 2 实验目的和内容 实验目的 熟练掌握 PHP 语言的基础语法 实验内容 从 7 个方面完成 PHP 基本语法实际体验 分列如下 一 词法结构 大小写 语句和分号 注释 标识符 二 数据类型 字符串型 布尔型 数组型 对象型 资源型 各种数据类型的检测 三 变量 变量的变量 变量的作用域 烟台南山学院 PHP 程序设计实验指导书 9 垃圾收集 变量的内存管理 四 表达式和操作符 隐式类型转换 字符串连接操作符 自增和自减操作符 类型转换操作符 其他操作符 五 流控制语句 if 语句 switch 语句 while 语句 for 语句 foreach 语句 exit 语句 return 语句 2 12 六 包含代码 七 在 Web 页面中嵌入 PHP 0 3 实验中的约定 所有实验程序均与讲义中的例子相对应 如程序 1 1 php 对应讲义中的例子例 1 1 1 词法结构 1 1 大小写敏感 预备知识预备知识 变量区分大小写 内置结构 while for if 等 及关键字 echo class 等 不区分大小写 2 1 大小写敏感的例子 PHP 程序 2 1送到用户浏览器解释后显示的结果 运行结果 显示在浏览器页面中 的结果 注意 要使运行结果达到真正分行 和注意 要使运行结果达到真正分行 和 HTML 输出一致 输出一致 请将程序 请将程序 2 1 中的中的 n 换成换成 即可实现 即可实现 如下例如下例 2 1br 修改程序 2 1 后的程序 2 1br 直接实现分行 将程序 2 1 中的 n 换成 烟台南山学院 PHP 程序设计实验指导书 10 PHP 程序 2 1br送到用户浏览器解释后显示的结果 运行结果 显示在 浏览器页面中的结果 name hello1 world1 NAME hello2 world2 NaME hello3 world3 echo name name ECHO NAME NAME EcHo NaME NaME 原因 浏览器不解释 或者说不识别 或忽略 经原因 浏览器不解释 或者说不识别 或忽略 经 PHP 解释解释 n 而成的空白换行 只有遇到而成的空白换行 只有遇到这个这个 HTML 中的换行标记 才解释成换行 为了直接达到预期换行效果 将不再使用中的换行标记 才解释成换行 为了直接达到预期换行效果 将不再使用 n 而是使用 而是使用 1 2 语句和分号 预备知识预备知识 简单语句 复杂语句 分号的省略 2 2 语句和分号 PHP 程序 2 2送到用户浏览器解释后显示的结果 运行结果 显示在浏览器页面中的结果 if a b echo 注意 简单语句 echo a 的值等于 b 的值 上面 部分为复杂语句 echo hello world 此处分号可省略 1 3 注释 预备知识预备知识 在必要的地方做注释 注释的形式及各自的适用处 Shell 形式 C 形式 C 形式 2 6 C 形式的注释作用 PHP 程序 2 6送到用户浏览器解释后显示的结果 运行结果 显示在浏览器页面中的结果 Some stuff you want to be HTML Now this is regular HTML 烟台南山学院 PHP 程序设计实验指导书 11 1 4 标识符 常量标识符 预备知识预备知识 使用 define 设置常量标识符 2 7 使用 define 设置常量标识符 PHP 程序 2 7送到用户浏览器解释后显示的结果 运行结果 显示在浏览 显示在浏览器页面中的结果 2 数据类型 2 1 字符串 预备知识预备知识 字符串的表示 单引号和双引号在字符转义上的不同作用 单引号仅转义反斜杠 和单引号 2 8 单引号和双引号在字符转义上的不同作用 PHP 程序 2 8送到用户浏览器解释后显示的结果 运行 结果 显示在浏览器页面中的结果 name Sun Shoulong 双引号中的变量值将被输出 echo Hi name echo Hi name 单引号中的变量名将被输出 因为单引号不认为 name 是变量 注意 双引号中的变量 若前面不加反斜杠注意 双引号中的变量 若前面不加反斜杠 进行转义 将进行转义 将 原样输出 原样输出 则在输出字串的时候将输出变量 则在输出字串的时候将输出变量 中的值中的值 2 9 单引号仅支持的字符转义 反斜杠 和单引号 PHP 程序 2 9送到用户浏览器解释后显示的结果 运行结果 显示在浏览器页面中的结果 烟台南山学院 PHP 程序设计实验指导书 12 2 2 布尔型 预备知识预备知识 PHP 中为 false 值的情况 2 10 判断布尔值 PHP 程序 2 10送到用户浏览器解释后显示的结果 运行结果 显示在浏览器页面中的结果 x 5 y if x echo x 有一个 true 值 if x echo x 有一个 false 值 if y echo y 有一个 true 值 if y echo y 有一个 false 值 2 3 数组型 预备知识 预备知识 数组的创建 遍历 键名 数组元素的下标名称 一般是从 0 开始的整数 也可以是字符串 键值 数组元素中存储的值 2 11 数组的创建 遍历 发明家记录 PHP 程序 2 11送到用户浏览器解释后显示的结果 运行结 果 显示在浏览器页面中的结果 Edison Rotary Engine Wankel Toilet Crapper 遍历数组 person 显示其内容 foreach person as name 访问每个键 echo Hello name 遍历数组 creator 显示其内容 foreach creator as invention inventor echo invention was created by inventor 烟台南山学院 PHP 程序设计实验指导书 13 2 4 对象型 预备知识预备知识 类 OOP 的单元 是包含属性 变量 和方法 函数 的结构定义 类的定义 对象的创建 引用其属性和方法 2 12 类和对象的简单例子 PHP 程序 2 12送到用户浏览器解释后显示的结果 运行结果 显 示在浏览器页面中的结果 name newname return this name ed new Person ed name Edison printf Hello s ed name tc new Person tc name Crapper printf Look out below s tc name 2 5 资源型 预备知识 预备知识 资源的概念 以数据库应用为例 在同时有众多的数据库连接存在时 要进行查询和关闭连 接等操作 必须指明这些操作是对哪个连接的 所以有必要给每个连接赋予一个标识值 一般是整数 这种标识值的数据类型称为资源型 资源的回收 程序结束时资源自动关闭 资源值被回收 作为局部变量的资源 当函数调用结束时 该 变量的值自动被 PHP 收回 显示地关闭资源 2 13 类和对象的简单例子 连接数据库 hostname username password echo 开始建立与服务器的连接 server link 为资源型变量 server link mysql connect hostname username password or die 连接服务器失败 程序中断执行 if server link echo 与服务器的连接成功 echo 开始打开数据库 test db link 为资源型变量 db link mysql select db test server link or die 连接数据库失败 程序中断执行 烟台南山学院 PHP 程序设计实验指导书 14 die 是 exit 的别名 它们的作用是强制中断程序执行 若程序在这里终止执行 则上面的资源型变量所占内存资源将自动回收 释放资源型变量 echo 打开数据库 test 成功 echo 开始从数据库 test 的表 abc 中取出数据 将查询结果存入数组 遍历记录集 将记录集中的数据转到数组 sql select from abc result 为资源型变量 result mysql query sql server link i 0 while temp array mysql fetch array result abc array i 0 temp array a abc array i 1 temp array b abc array i 2 temp array c i echo 取出数据完毕 mysql free result result 释放记录集 这是显式地关闭资源 若程序终止执行 该关闭将自动进行 echo 开始关闭与服务器的连接 断开数据库连接 这也是显式地使用关闭函数回收资源变量 db close mysql close server link db close 为布尔型变量 if db close echo 关闭与服务器的连接成功 else exit 关闭与服务器的连接失败 程序中断执行 echo 开始显示数据 将数组中的数据输出到浏览器 各列以双等号间隔 echo a 列数据 b 列数据 c 列数据 for i 0 i count abc array i echo abc array i 0 abc array i 1 abc array i 2 echo 显示数据结束 程序执行完毕 PHP 解释结果 HTML 输出 右键单击该页面 在快捷菜单中单击 查看源文件 命令可看到 送到用户浏览器解释后显示的结果 运行结果 显示在浏览器页面中的结果 烟台南山学院 PHP 程序设计实验指导书 15 2 6 数据类型的检测 预备知识预备知识 数据类型检测函数 2 14 数据类型检测 PHP 程序 2 14送到用户浏览器解释后显示的结果 运行结果 显示在浏 览器页面中的结果 3 变量 3 1 变量的变量 预备知识预备知识 变量的概念和作用 变量的声明和使用 变量的变量 2 15 PHP 变量无类型检查 无须声明 类型随用随变 烟台南山学院 PHP 程序设计实验指导书 16 PHP 程序 2 15送到用户浏览器解释后显示的结果 运行结果 显 示在浏览器页面中的结果 PHP 变量无类型检查 what Fred echo what 的值 what if is string what echo what 是字符串型变 量 what 35 echo what 的值 what if is int what echo what 是整型变量 what array Fred 35 wilma echo what 的值为 foreach what as e echo e if is array what echo what 是数组型变量 2 16 空变量的例子 PHP 程序 2 16送到用户浏览器解释后显示的结果 运行 结果 显示在浏览器页面中的结果 2 17 变量的变量 PHP 程序 2 17送到用户浏览器解释后显示的结果 运行结果 显示在浏览器页面中的结果 变量的变量 r i r 1 echo 因为 r r echo 所以 r r echo 又因为 r r echo 故 r r echo 你明白了吗 烟台南山学院 PHP 程序设计实验指导书 17 3 2 变量的作用域 预备知识预备知识 变量按其作用域分为 局部变量 全局变量 静态变量 函数的参数属于局部变量 从局部访问全局变 量的方法 从全局访问局部变量的方法 2 19 不能从全局 函数外部 直接访问局部变量 PHP 程序 2 19送到用户浏览器解释后显示的结果 运行结 果 显示在浏览器页面中的结果 2 20 从局部访问全局变量 方法 1 使用 global 关键字声明 PHP 程序 2 20送到用户浏览器解释后显示的结果 运行结 果 显示在浏览器页面中的结果 2 21 从局部访问全局变量 方法 2 引用全局变量数组 GLOBALS PHP 程序 2 21送到用户浏览器解释后显示的结果 运行结 果 显示在浏览器页面中的结果 烟台南山学院 PHP 程序设计实验指导书 18 2 22 使用静态变量的好处 使全局可间接访问到 PHP 程序 2 22送到用户浏览器解释后显示的结果 运行结果 显示 在浏览器页面中的结果 使用静态变量的方法 强制保留局部变量上 次调用结束时的值 使全局可间接访问到 function update counter static counter 0 这个 counter 是局部的变 量 声明为静态 并赋初始值 0 counter echo 局部静态变量 counter 这时的值 counter counter 10 这个 counter 是全局的变量 update counter update counter echo 全局变量 counter 这时的值 counter 2 23 全局不可直接访问局部变量 可通过将局部变量声明为静态的方法 参见 2 22 PHP 程序 2 23送到用户浏览器解释后显示的结果 运行结果 显示 在浏览器页面中的结果 函数参数作为一种局部变量 是不能直接被 外部访问的 function greet name echo Hello name greet 孙寿龙 if name null echo name 是一个空变量 访问不到 3 3 垃圾收集 预备知识预备知识 无用变量的收回 PHP 内存管理 引用计算 写时复制 2 24 PHP 的写时复制 PHP 程序 2 24 PHP 通过使用引用计算和写时复制进行内存管理从而节省了时间和内存 一 写时复制 对共享同一首地址的多个变量 修改其中一个 如 worker 则此时为 worker 分配新内存空间 将其新元素内容写入该空间 将其旧元素内容复制到该空间 这就是写时复制 发生写时复制 为 worker 开辟新空间 将 worker 最新内容复制到这里 以不影响 other 的内容 worker 1 36 同时发生引用计算 原 worker 与 other 共享的那个首地址引用的变量名减少 1 个 只剩下了 other 引用计数减少 1 echo 修改数组 worker 的第二个元素 发生写时复制及引用计算后 烟台南山学院 PHP 程序设计实验指导书 19 echo 新数组 other 的内容 foreach other as a echo a echo 新数组 worker 的内容 foreach worker as b echo b echo 是不是很好玩 PHP 解释结果 HTML 输出 右键单击该页面 在快捷菜单中单击 查看源文件 命令可看到 送到用户浏览器解释后显示的结果 运行结果 显示在浏览器页面中的结果 烟台南山学院 PHP 程序设计实验指导书 20 2 25 垃圾收集 变量的回收 使用 unset 回收变量 释放变量 PHP 程序 2 25送到用户浏览器解释后显示的结果 运行结 果 显示在浏览器页面中的结果 垃圾收集 变量的回收 使用 unset 释放变量 echo 从未对 name 赋过值 这时 s1 isset name s1 为 false if s1 echo name 已存在 其值 name else echo name 不存在 其值 name name Fred s1 isset name s1 为 true if s1 echo name 已存在 其值 name else echo name 不存在 其值 name echo 现在从内存中释放 删除 name unset name s1 isset name s1 为 false if s1 echo name 已存在 其值 name else echo name 不存在 其值 name 4 表达式和操作符 4 1 隐式类型转换 预备知识预备知识 数字间进行字符串拼接的规则 字符串转换数字后的数字值规则 2 26 数字间进行字符串拼接的规则 数字首先变为字串 然后再拼接 PHP 程序 2 26送到用户浏览器解释后显示的 结果 运行结果 显示在浏览 器页面中的结果 2 27 字符串转换数字后的数字值规则 假定以数字开始 该数字即为转换后的数字值 若未找到数字则转换后的数字值为 0 若开头的数字包含 一个句点或大写或小写的 E 则转换后的数字值为浮点型 烟台南山学院 PHP 程序设计实验指导书 21 PHP 程序 2 27送到用户浏览器解释后显示的结 果 运行结果 显示在浏览器页 面中的结果 字符串转成数字后的数字值规则 a 9 Lives 1 8 int b 3 14 Pies 2 6 28 float c 9 lives 1 8 float d 1E3 Points of Light 1 1101 echo a a echo b b echo c c echo d d 4 2 字符串连接操作符 预备知识预备知识 字符串连接操作符 数字与字串连接时 数字先转换成字串 2 28 数字在与字符串连接时 先自动变成字符串 PHP 程序 2 28送到用户浏览器解释后显示的结果 运行 结果 显示在浏览器页面中的结果 类似的 如 2 29 2 29 和 2 28 差不多的程序 PHP 程序 2 29送到用户浏览器解释后显示的结果 运 行结果 显示在浏览器页面中的结果 烟台南山学院 PHP 程序设计实验指导书 22 4 3 自增自减操作符 预备知识预备知识 数字的自增自减 按数字顺序 字母的自增自减 按字母顺序 2 30 PHP 程序 2 30送到用户浏览器解释后显示的结果 运 行结果 显示在浏览器页面中的结果 字母的自增自减运算 echo 小写字母自增 a a while a z echo a echo echo 大写字母自增 a A while a Z echo a echo 请编程验证 字符串字符串 ab za spazspba K9L0 4243 该图显示的是部分结果 4 4 类型转换操作符 预备知识预备知识 类型转换操作符 类型转换的临时性 类型转换的真正实现 2 31 类型转换的临时性 PHP 程序 2 31送到用户浏览器解释后显示的结果 运 行结果 显示在浏览器页面中的结果 烟台南山学院 PHP 程序设计实验指导书 23 2 32 类型转换的真正实现 PHP 程序 2 32送到用户浏览器解释后显示的结果 运 行结果 显示在浏览器页面中的结果 转换自身类型并保值 a 5 if is string a echo 开始 a 是字符串型 值为 a a int a if is int a echo 转换类型并自赋值后 a 是整型 值为 a 4 5 其他操作符 预备知识预备知识 错误抑制操作符 例子程序见 2 13 三元操作符 2 33 三元操作符 PHP 程序 2 33送到用户浏览器解释后显示的结果 运行结果 显示在浏览器页面中的结果 三元操作符使用的例子 a 1 b 2 echo a a b b echo a b a b a 5 流控制语句 5 1 if 语句 预备知识预备知识 if 结构 if else 结构 if else 链接 层进 if elseif 结构 if else endif 结构 2 34 使用 if else endif 结构 PHP 程序 2 34送到用户浏览器解释后显示的结果 运 行结果 显示在浏览器页面中的结果 if 语句的使用 echo 常见使用方式 C 语言的方式 user validated true if user validated echo 欢迎你 greed 1 else echo 对不起 禁止访问 exit 烟台南山学院 PHP 程序设计实验指导书 24 echo 还可使用 PHP 提供的另一种方式 if endif 结构 user validated if user validated 注意冒号 echo 欢迎你 greed 1 else 注意冒号 echo 对不起 禁止访问 exit endif 句尾是分号 不是冒号 2 35 if 语句的使用 嵌入到 HTML 中 表单验证 PHP 程序 2 35送到用户浏览器解释后显示的结果 运行结果 显示在浏览器页面中的结果 欢迎你 请重新登陆 2 36 if 语句的链接 层进 使用 if else 结构 PHP 程序 2 36送到用户浏览器解释后显示的结果 运行结果 显示 在浏览器页面中的结果 90 print 优秀 else if fenshu 80 else if fenshu 2 37 if 语句的链接 层进 使用 if elseif 结构 烟台南山学院 PHP 程序设计实验指导书 25 PHP 程序 2 37送到用户浏览器解释后显示的结果 运行结 果 显示在浏览器页面中的结果 if 语句的链接 层进 使用 if elseif 结构 阅读性比 2 36 好 echo 本程序阅读性比程序 2 36 好 以下是运行结果 fenshu 61 echo 你的分数是 fenshu 属于 if fenshu 90 print 优秀 elseif fenshu 80 elseif fenshu 2 38 用 if 结构的 HTML 输出一般做法 PHP 程序 2 38送到用户浏览器解释后显示的结果 运行结果 显示在浏览器页面中的 结果 用 if 结构的 HTML 输出一般做法 fenshu 61 echo 以下结果用 if 结构嵌入 HTML 实现 程序可读性稍差 60 echo 及格 else echo 不及格 用三元操作符简化使更简洁的例子见 2 39 2 39 用三元操作符简化使 2 38 更简洁的例子 PHP 程序 2 39送到用户浏览器解释后显示的结果 运行结果 显示在浏览器页面中的 结果 用三元操作符简化使 2 38 更简洁的例子 fenshu 61 echo 以下结果用三元操作符简化 if 结构实现 程序可读性好 echo fenshu 60 及格 不及格 进一步的拼接字串的例子见程序 2 39a php 烟台南山学院 PHP 程序设计实验指导书 26 2 39a 用三元操作符简化使 2 39 更简洁的例子 PHP 程序 2 39a 比 2 39 字串拼接更复杂的例子 fenshu 61 echo 以下结果用三元操作符结合复杂字串拼接实现 程序可读性一般 但移植性好 echo fenshu 60 及格 不及格 PHP 解释结果 HTML 输出 右键单击该页面 在快捷菜单中单击 查看源文件 命令可看到 送到用户浏览器解释后显示的结果 运行结果 显示在浏览器页面中的结果 5 2 switch 语句 预备知识预备知识 switch 的 C 语言形式 switch endswitch 结构 switch 语句中 case 的合并 2 40 switch endswith 结构的用法 PHP 程序 2 40送到用户浏览器解释后显示的结果 运行结果 显示在浏览器页面中的结果 烟台南山学院 PHP 程序设计实验指导书 27 2 41 case 的合并 PHP 程序 2 41送到用户浏览器解释后显示的结果 运行结果 显示在浏览器页面中的结果 5 3 while 语句 预备知识预备知识 while 的 C 语言形式 传统 while 等结构 while endwhile 结构 2 42 PHP 程序 2 42送到用户浏览器解释后显示的结果 运行结果 显示在浏览器页面中的结果 while 循环 从 1 加到 10 使用传统 while 结构 total 0 i 1 while i 2 43 while endwhile 循环 PHP 程序 2 43送到用户浏览器解释后显示的结果 运行结果 显示在浏览器页面中的结果 while endwhile 循环 从 1 加到 10 使用传统 while endwhile 结构 total 0 i 1 while i 烟台南山学院 PHP 程序设计实验指导书 28 5 4 for 语句 预备知识预备知识 fo 循环的 C 语言形式 传统 for 等结构 for endfor 结构 2 44 for 循环中多表达式应用 PHP 程序 2 44送到用户浏览器解释后显示的结果 运行结 果 显示在浏览器页面中的结果 用 for 循环计算 2 的 0 次到 9 次幂的和 total 0 total0 0 for i 1 j 1 i 10 i j 2 echo 第 i 步 total total j total j echo total echo 使用 for 结构 计算结果是 total 1 2 4 8 512 total 2 45 for 循环的死循环的一个例子 因死机 效果图略 PHP 程序 2 45 for for 循环的死循环的一个例子 echo 永不停歇 耗尽你的计算机的资源 5 5 foreach 语句 预备知识预备知识 foreach 语句 foreach endforeach 语句 循环体中对数组元素的遍历 访问每个键 访问每个键和键值 实验程序见 程序 2 11 5 6 exit 语句 预备知识预备知识 exit 语句的作用 使用形式 实验程序见 程序 2 13 5 7 return 语句 预备知识预备知识 return 语句的作用 使用形式 实验程序见 程序 2 12 6 包含代码 预备知识预备知识 烟台南山学院 PHP 程序设计实验指导书 29 require 和 include 的作用和区别 使用形式 2 48 使用包含文件 PHP 程序 2 48 使用包含文件 新建一个文件 2 48 conn php 将 2 13 的 2 到 20 行复制粘贴到 2 48 conn php 中 保存作为包含文件 2 48 conn php 专门负责连接服务器 打开 test 数据库 新建一个文件 2 48 db close php 将 2 13 的 38 到 42 行复制粘贴到 2 48 db close php 中 保存作为包含 文件 2 48 db close php 专门负责关闭与服务器的连接 本程序采用引用上述两个包含文件的形式 是对程序 2 13 的简化 运行效果与 2 13 完全一样 连接服务器 打开数据库 test include 2 48 conn php echo 开始从数据库 test 的表 abc 中取出数据 将查询结果存入数组 遍历记录集 将记录集中的数据转到数组 sql select from abc result 为资源型变量 result mysql query sql server link i 0 while temp array mysql fetch array result abc array i 0 temp array a abc array i 1 temp array b abc array i 2 temp array c i echo 取出数据完毕 mysql free result result 释放记录集 这是显式地关闭资源 若程序终止执行 该关闭将自动进行 关闭与服务器的连接 include 2 48 close php echo 开始显示数据 将数组中的数据输出到浏览器 各列以双等号间隔 echo a 列数据 b 列数据 c 列数据 for i 0 i count abc array i echo abc array i 0 abc array i 1 abc array i 2 echo 显示数据结束 程序执行完毕 2 48 conn php 连接数据库 hostname username root password ilongilong echo 开始建立与服务器的连接 server link 为资源型变量 server link mysql connect hostname username password or die 连接服务器失败 程序中断执行 if server link echo 与服务器的连接成功 echo 开始打开数据库 test db link 为资源型变量 烟台南山学院 PHP 程序设计实验指导书 30 db link mysql select db test server link or die 连接数据库失败 程序中断执行 die 是 exit 的别名 它们的作用是强制中断程序执行 若程序在这里终止执行 则上面的资源型变量所占内存资源将自动回收 释放资源型变量 echo 打开数据库 test 成功 2 48 db close php echo 开始关闭与服务器的连接 断开数据库连接 这也是显式地使用关闭函数回收资源变量 db close mysql close server link db close 为布尔型变量 if db close echo 关闭与服务器的连接成功 else exit 关闭与服务器的连接失败 程序中断执行 2 48 php 的运行效果图同 2 13 php 此处略 7 在页面中嵌入 PHP 预备知识预备知识 PHP 嵌入 Web 页面中的几种形式 各自的适用场合 2 49 PHP 代码以 xml 形式嵌入 HTML PHP 程序 2 49送到用户浏览器解释后显示的结果 运行结果 显示在 浏览器页面中的结果 this is my first PHP program Look it is my first PHP program How cool is t

温馨提示

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

评论

0/150

提交评论