文档库 最新最全的文档下载
当前位置:文档库 › PHP课后习题

PHP课后习题

PHP课后习题
PHP课后习题

《PHP 网站开发案例教程》习题答案

习题 1 答案

1.1 简述 PHP 语言有哪些主要特点。

答:PHP 语言有以下主要特点:

开放性源代码;运行于服务器端;跨平台性;语言简单易学;执行效率高;图像处理功能;数据库访问功能;面向对象编程;可伸缩性。

1.2 Apache 服务器只支持 PHP 语言吗?

答:不是。Apache 服务器支持多种 Web 编程语言,例如 ASP、JSP 以及 PHP 等。

1.3 简述 MySQL 有哪些主要特点。

答:MySQL 有以下主要特点:快速、可靠、易于使用;工作在客户端/服务器模式下或

嵌入式系统中;真正的多线程;跨平台性;数据类型丰富;安全性好;处理大型数据库;连接性好。

1.4 把左边的项与右边的描述联系起来(即把适当的字母填入括号内)。

A. httpd.conf (D)用于创建虚拟目录;

B. Listen (E)用于设置默认文档;

C. DocumentRoot (B)用于设置 Apache 监听的 IP 地址和端口;

D. Alias (C)用于设置网站文档的根目录;

E. DirectoryIndex (A)用于保存 Apache 服务器的配置信息。

1.5 管理 Apache 服务器有哪些方法?

答:管理 Apache 服务器有以下方法:(1)左键单击 Windows 系统托盘中的图标,从菜单中选择所需要的命令;(2)双击 Windows 系统托盘中的图标,打开 Apache 服务器监

视器;(3)使用 Windows 的服务管理工具。

1.6 把左边的项与右边的描述联系起来(即把适当的字母填入括号内)。

A. php.ini (D)用于设置服务器的默认时区;

B. extension_dir (C)用于设置保存会话信息的目录;

C. session.save_path (B)用于设置动态模块的加载路径;

D. date.timezone (A)用于保存 PHP 的配置信息。

1.7 在 Apache 中,PHP 有哪两种运行方式?如何让 Apache 支持这些运行方式?

答:(1)在 Apache 中,PHP 的运行方式有 CGI 二进制文件方式和 DLL 动态链接库模块方式。(2)要让 Apache支持 CGI二进制文件方式,需要在 httpd.conf文件末尾添加以下代码:

ScriptAlias /php/ "F:/php/"

AddType application/xhttpdphp

.php

Action application/xhttpdphp

"/php/phpcgi.

exe"

(3)要让 Apache支持 DLL动态链接库模块方式,首先要把 PHP 安装目录中的

php5ts.dll

文件复制到Windows 系统的 system32 文件夹中,然后在 httpd.conf 文件末尾添加以下代

·2·

LoadModule php5_module "F:/php/php5apache2_2.dll"

AddType application/xhttpdphp

.php

1.8 配置 MySQL 服务器时可以设置一个管理员账号,其名称是(C)。

A. admin

B. sa

C. root

D. system

1.9 要想通过 PHP 连接到 MySQL 服务器,需要做哪些事情?

答:要想通过 PHP 连接到 MySQL 服务器,需要做以下事情。

(1)将 PHP 目录下的 libmysql.dll 文件复制到 F:\Apache2.2\bin 目录中。

(2)用记事本程序打开 F:\Apache2.2 目录中的 php.ini 文件。

(3)在文件中定位到[MySQL]节,然后对以下属性进行设置。

●设置 MySQL 服务器的主机名,代码为:

mysql.default_host = localhost

●设置 MySQL 服务器的端口号,代码为:

mysql.default_port = 3306

●设置默认用户,代码为:

mysql.default_user = root

●设置默认密码,代码为:

mysql.default_password = password

(4)为了启用 PHP 对 MySQL 的支持模块,在文件中定位到下面一行:

? extension = php_mysql.dll

移除前面的分号。

1.10 简述用 Dreamweaver 创建 PHP 动态站点的主要步骤。

答:用 Dreamweaver 创建 PHP 动态站点的主要步骤包括:创建本地文件夹;设置虚拟目录;设置站点的名称和 HTTP 地址;选择 PHP MySQL 服务器技术;设置站点文件使用方式(在本地进行编辑和测试);设置并测试 URL 前缀。

·3·

习题 2 答案

2.1 PHP 定界符有哪些形式?

答:P HP 定界符有以下 4 种形式:< ?php…?>;< ?…?>;< script language="php">…;

<%…%>。

2.2 在 PHP 中,有哪些标量数据类型?

答:在 PHP 中,标量数据类型有:布尔型(boolean)、整型数(integer)、浮点数(float)和字符串(string)。

2.3 在 PHP 中,字符串有哪些表示形式?各有什么特点?

答:在 PHP 中,字符串有以下三种表示形式:用单引号表示;用双引号表示;用定界符

表示。

(1)用单引号表示时,若要表示一个单引号,需要用反斜线(\)转义,即表示为“\'”;若要在单引号之前或字符串结尾需要出现一个反斜线,则需要用两个反斜线(\\)表示;在单引号字符串中出现的变量不会被变量值替代,转义序列也不会被解释。

(2)用单引号表示时,可以处理更多特殊字符的转义序列。在用双引号定义的字符串中,变量名会被变量值替代。

(3)用定界符表示时,在字符串中包含的变量名运行时将被变量值替代。在这种字符串中,可以直接包含单引号和双引号,而不必进行转义。

2.4 当从布尔值转换为整型时,true 转换为 1,false 转换为 0。

2.5 当把布尔值转换为字符串时,true 转换为字符串"1",false 转换为空字符串""。

2.6 要测试一个变量的数据类型,有哪些方法?

答:要测试一个变量的数据类型,可以使用 gettype()函数。

2.7 empty()函数用于检查一个变量是否为空;isset()函数用于检测变量是否设置。

2.8 什么叫可变变量?用什么符号来引用变量?

答:若一个变量的名称可以使用一个变量的值来表示,则这个变量就是可变变量。若要

引用一个变量,可在该变量名前面加一个&符号。

2.9 $x++与++$x 有什么不同?试举例说明。

答:$x++是先引用,后加一;++$x 是先加一,后引用。例如:

$x = 1 ?

$y = $x++ ? // 执行前,$x 为 1;执行后,$y 为 1,$x 为 2

$y = ++$x ? // 执行前,$x 为 2;执行后,$y 为 3,$x 为 3

2.10 简述条件运算符(? : )的运算规则。

答:条件表达式 (expr1) ? (expr2) : (expr3) 的值按照以下规则计算:当表达式 expr1 的值

为 true 时,条件表达式的值为 expr2;在 expr1 求值为 false 时,条件表达式的值为expr3。

2.11 在“$x = $a + $b?”中有哪些表达式?

答:其中有三个表达式:$x,$a + $b,$x = $a + $b

·4·

习题 3 答案

3.1 创建数组有哪些方法?试举例说明。

答:创建数组有以下两种方法。

(1)用语言结构 array()创建数组。例如:

$a = array ( "username => "tim", "gender" => "male", "birthdate" => "198888"

) ?

(2)用方括号语法创建数组。例如:

$a[0]["username"] = 'tina' ?

$a[0]["gender"] = 'female' ?

$a[1]["username"] = 'tom' ?

$a[1]["gender"] = 'male' ?

3.2 PHP 提供了哪些预定义数组?

答:P HP 提供了以下预定义数组:$ GLOBALS、$ _SERVER、$ _GET、$ _POST、$ _COOKIE、$_REQUEST、$_FILES、$_SESSION。

3.3 在 PHP 函数中,按值传递参数与通过引用传递参数有什么区别?

答:若函数参数通过值传递,则当在函数内部改变参数的值时,不会改变函数外部的值。若函数参数通过引用传递,则可以在函数内部修改它的参数值。若要函数的一个参数通过引用传递,则可以在函数定义中该参数的前面预先加上引用符号“&”。

3.4 函数的返回值通过 return 语句设置。

3.5 什么叫局部变量?要在一个函数内部引用全局变量有哪些方法?

答:在用户自定义函数内部定义的变量称为局部变量。要在一个函数内部引用全局变量

有以下两种方法:

(1)先用 global 关键字来声明全局变量,然后对全局变量进行访问。

(2)在函数内部,也可以直接通过预定义数组$GLOBALS 来访问全局变量。

3.6 静态变量使用关键字 static 来声明,静态变量的特点是:仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。

3.7 在 PHP 中,如何设置时区?

答:在 PHP 设置时区有以下两种方法:

(1)在 php.ini 中设置 date.timezone 选项。例如:date.timezone = PRC

(2)通过内部函数 date_default_timezone_set()来设置用于一个脚本中所有日期时间函数

的默认时区。

3.8 若要显示“xxxx 年 xx 月 xx 日星期 x xx:xx:xx”,应如何设置 date()函数的格式

字符串?

答:可使用格式字符串“Y 年 n月 j 日 {$d} G:i:s”,其中变量$d表示中文星期名称。·5·

习题 4 答案

4.1 printf()函数与 sprintf()函数有哪些共同点?有哪些不同点?

答:共同点:它们都可以对字符串进行格式化,而且所有格式字符串相同;不同点:p rintf()

函数输出经过格式化处理的字符串,而 sprintf 返回经过格式化处理的字符串。

4.2 试把下列左边的函数与右边的描述联系起来(把适当的字母填到括号内)。

A. strtolower() (Q)从一个字符串中查找另一个字符串首次出现的位置。

B. strtoupper() (O)使用一个字符串分割另一个字符串并返回数组。

C. ucfirst() (N)将数组元素连接成一个字符串并返回该字符串。

D. ucword() (P)把一个字符串按照另一个字符串的值分割成若干个字符串。

E. trim() (L)在字符串的某些字符前面添加上反斜线。

F. ltrim() (K)从字符串中去除所有 PHP 和 HTML 标记。

G. rtrim() (I)把字符串中的一些 HTML 标签转换为 HTML 实体。

H. nl2br() (J)把字符串中的一些特殊字符替换为 HTML 实体。

I. htmlspecialchars() (H)把字符串中的所有换行符转换为 HTML 换行标记。

J. htmlentities() (G)去除字符串右边的空格或其他字符并返回处理后的字符串。

K. strip_tags() (F)去除字符串左边的空格或其他字符并返回处理后的字符串。

L. addslashes() (E)去除字符串开始位置和结束位置的空格或其他字符。

M. stripslashes() (D)把一个字符串中所有单词的首字母都转换为大写形式。

N. implode() (C)把一个字符串中的首字母转换为大写形式。

O. explode() (B)把一个字符串中的所有字母都转换为大写形式。

P. strtok() (A)把一个字符串中的所有字母都转换为小写形式。

Q. strpos() (M)去除字符串中的反斜线。

4.3 按显示结果的要求在下面的横线上填写适当的内容:

$search = array ( "他" , "JSP" , "动态网页设计" )?

$replace = array ( "我" , "PHP" , "动态网站开发" )?

$subject = "他喜欢 JSP 动态网页设计。"?

print str_replace ( $search, $replace, $subject ) . "
\n"? // 显示:我喜欢PHP 动态网

站开发。

print substr_replace ( $subject, "JSP" , 6 , 3 ) . "
\n"? // 显示:他喜欢JSP 动态网页设

计。

print substr ( "ABCDEF", 1 , 3 ) . "
\n"? // 显示:BCD

print substr ( "ABCDEF", 0 , 6 ) . "
\n"? // 显示:ABCDEF

print substr ( "ABCDEF", 3 , 2 ) . "
\n"? // 显示:DE

print substr ( "ABCDEF", 2

) . "
\n"? // 显示:EF

4.4 什么是正则表达式?它由哪两种类型的字符组成?

答:正则表达式是从左向右去匹配目标字符串的一组模式,它由普通字符和元字符组成。

4.5 Perl 兼容正则表达式与 POSIX 扩展正则表达式有什么区别?

答:Perl 兼容正则表达式应被包含在定界符中,通常使用正斜线(/)作为定界符。POSIX ·6·

扩展正则表达式则不需要定界符。

4.6 根据下列要求写出正则表达式。

(1)匹配电子邮件地址:\w+([+.]\

w+)*@\w+([.]\

w+)*\.\w+([.]\

w+)*;

(2)匹配中国居民身份证号:\d{15}|\d{18};

4.7 写出下列语句的执行结果。( 1 )

print preg_match ( "/([\x81\

xfe][\x40\

xfe]){2,}/", "韦小宝" )?

4.8 写出下列语句的执行结果。(20070622)

$pattern = "([09]{

1,2})/([09]{

1,2})/([09]{

4})"?

ereg ( $pattern, "22/06/2007", $regs )?

print "$regs[3]$

regs[2]$

regs[1]\n"?

4.9 在函数调用 preg_replace("/(\d+)\/(\d+)\/(\d+)/", "\$3\$

1\$

2", "6/22/2007" )中,第二

个参数中使用了逆向引用,其中$1 表示 6 ,$2 表示 22 ,$3 表示 2007 。

4.10 试在下列横线上填写适当的内容,以便把字符串分割成字符。

$chars = preg_split ( "//" , "PHP" , 1

, PREG_SPLIT_NO_EMPTY ) ?

·7·

习题 5 答案

5.1 在

标记中,method 和 action 属性的作用分别是什么?

答:method 属性指定将表单变量传输到服务器的方法;action 属性指定将要接收表单变量的动态网页的 URL。

5.2 在下列左边的括号中填写适当的内容(password,button,text,hidden,radio,checkbox,submit,image,reset),用以创建所要求的表单控件。

A. 创建提交按钮

B. 创建重置按钮

C. 创建自定义按钮

D. 创建文本框按钮

E. 创建密码框按钮

F. 创建单选按钮

G. 创建复选框

H. 创建图片式提交按钮

I. 创建隐藏域

5.3 在 PHP 中获取表单变量的值有哪几种方法?

答:在 PHP 中获取表单变量的值有以下几种方法:

(1)通过全局变量获取表单变量;

(2)通过预定义变量获取表单变量;

(3)通过预定义数组获取表单变量。

5.4 若要在 PHP 中快速获取一组复选框的值,应如何命名这些复选框?

答:应将这些复选框命名为相同的名称,并且以“[]”结尾。

5.5 普通列表框和下拉式列表框都用标记创建的,多行文本框则是用标记创建的。

5.7 Dreamweaver CS3 提供了哪些可以用于表单验证的 Spry 构件?

答:在 Dreamweaver 中提供的用于表单验证的 Spry 构件有以下几种:

(1)Spry 验证文本域构件;

(2)Spry 验证文本区域构件;

(3)Spry 验证复选框构件;

(4)Spry 验证选择框构件。

5.8 Spry 验证文本域有哪些状态?利用它可以在什么时候对文本框的内容进行验证?·8·

答:Spry 验证文本域构件有以下几种状态:初始状态;得到焦点状态;有效状态;无效

状态;必填状态;最小字符数状态;最大字符数状态;最小值状态;最大值状态。

5.9 在 Dreamweaver CS3 中如何设置 Spry 验证文本域显示的错误信息?

答:在 Dreamweaver CS3 中,要设置 Spry 验证文本域构件的错误信息,首先在文档中选取该构件,然后在属性检查器的【预览状态】列表框中选择【必填】,并在文档窗口中设置要

显示的错误信息。

5.10 生成 URL 参数有哪些方法?在 PHP 中检索 URL 参数有哪些方法?

答:生成 URL 参数有以下几种方法:

(1)创建使用 GET 方法提交数据的表单;

(2)创建超文本链接,在 URL 后面附加名称

值对。

(3)客户端脚本编程,在要跳转的目标 URL 后面附加名称

值对。

(4)服务器脚本编程,在要跳转的目标 URL 后面附加名称

值对。

在 PHP 中检索 URL 参数有以下几种方法:

(1)使用全局变量;

(2)使用预定义数组变量$HTTP_GET_VARS;

(3)使用预定义数组变量$_GET。在 Dreamweaver 中可创建 URL 变量。

5.11 在不同页面之间跳转有哪些方法?

答:在不同页面之间跳转有以下几种方法:

(1)使用 header()函数;

(2)使用客户端脚本,即把 document 对象的 location 属性或 location 对象的 href 属性设置为要转到的目标页面的 URL;

(3)通过在文件头部分添加一个 meta 标记可以实现当前页面的刷新或跳转到另一页面。

5.12 在 PHP 中,如何启动一个会话?如何用会话变量存储信息?

答:在 PHP 中,可以使用 session_start()函数启动一个会话;若要把信息存储到会话变量

中,向$_SESSION 数组添加一个元素即可。

5.13 在 PHP 中,如何注销当前会话中的所有会话变量?如何结束一个会话?

答:在 PHP 中,使用 session_unset()函数从当前会话中注销所有会话变量;如果要结束当前会话,首先要使用 session_unset()函数从当前会话中注销所有会话变量,然后使用session_destroy()函数清除当前会话的会话 ID。

5.14 什么是 Cookie?它有什么优点和缺点?

答:Cookie 是一种在客户端浏览器储存数据并以此来跟踪和识别用户的机制,它提供了一种在 Web 应用程序中存储用户特定信息的方法。

使用 Cookie 有以下优点:可以配置到期规则;不需要任何服务器资源;Cookie 是一种基于文本的轻量结构,包含简单的键值对;Cookie 通常是客户端上持续时间最长的数据保留

形式。

使用 Cookie 有以下缺点:大多数浏览器对 Cookie 的大小有 4 096 字节的限制;有些用户禁用了浏览器接收 Cookie 的能力,因此限制了这一功能的应用;用户有可能会操纵其计算

机上的 Cookie,这意味着会对安全性造成潜在风险或者导致依赖于 Cookie 的应用程序失

败。

5.15 在 PHP 中,如何向客户端发送一个 Cookie?如何从 Cookie 变量中检索信息?答:在 PHP 中,使用 setcookie()函数可以向客户端发送一个 Cookie 信息;从 Cookie 变·9·

量中检索信息访问数组$_COOKIE 即可。

5.16 在 PHP 中,如何删除一个 Cookie?

答:Cookie 必须用与设定时相同的参数才能删除。如果 value 参数值为一个空字符串或false,expire 参数值为 time()函数值加上或减去某个正整数,且其他参数值均与前一次调用

setcookie()函数时相同,则所指定名称的 Cookie 将会在客户端计算机上被删除。

·10·

习题 6 答案

6.1 如何检测一个文件或目录是否存在?

答:在 PHP 中,用函数 file_exists()来检查一个文件或目录是否存在。

6.2 使用 fopen()函数时,打开文件的模式有只读、读写和写入。

6.3 在 PHP 中,读取文件内容有哪四种方式?

答:在 PHP 中读取文件有以下四种方式:

(1)读取单个字符;

(2)逐行读取数据;

(3)读取指定长度数据;

(4)读取整个文件。

6.4 fseek()函数将文件指针移动到文件开头;rewind()函数检测文件指针是否到了文件结束的位置。

6.5 将数据写入文件有哪两种模式?

答:将数据写入文件有以下两种模式:

(1)覆盖模式,即删除原始内容并写入新内容;

(2)追加模式,即将新内容附加在原始内容之后。

6.6 rename()函数除了重命名文件或目录外,还有什么功能?

答:该函数还有移动文件和目录的功能。

6.7 如何删除一个文件?如何创建一个目录?

答:删除一个文件用 unlink()函数;创建一个目录用 mkdir()函数。

6.8 如何获取或更改当前目录?

答:要获取当前目录用 getcwd()函数;要更改当前目录用 chdir()函数。

6.9 若要列出一个目录中的所有文件和目录,有哪两种方式?

答:要列出一个目录中的所有文件和目录,有以下两种方式:

(1)用 readdir()函数;

(2)用 scandir()函数。

6.10 如何获取上传的文件?如何将上传的文件移动到指定位置?

答:要获取上传的文件用预定义数组$_FILES;要把上传的文件移动到指定位置用

move_uploaded_file()函数。

·11·

习题 7 答案

7.1 如何在 PHP 中测试 GD 库是否已加载?

答:在 PHP 要测试 GD 库是否加载通过调用 function_exists ( "gd_info" )函数实现。

7.2 在 PHP 中创建图像有哪两种方式?

答:在 PHP 中创建图像以下两种方式:

(1)创建新的 GD 图像流;

(2)从现有文件创建图像。

7.3 按下列要求填空(其中$im 为一个图像标识符)。

header ( "Contenttype:

image/png" ) ?

imagepng ( $im )? // 输出 PNG 图像到浏览器

7.4 按下列要求填空(其中$im 为一个图像标识符)。

$red = imagecolorallocate ( $im , 255 , 0 , 0 ) ? // 分配红色

$green = imagecolorallocate ( $im , 0 , 255 , 0 ) ? // 分配绿色

$blue = imagecolorallocate ( $im , 0 , 0 , 255 ) ? // 分配蓝色

7.5 把下列左边的函数名与右边的描述联系起来(在括号内填入适当的字母)。

A. imagerectangle (C)在图像中画一个填充的多边形。

B. imagedashedline (D)在图像中画一个填充的椭圆。

C. imagefilledpolygon (A)在图像中画一个矩形。

D. imagefilledellipse (B)在图像中画一条虚线。

7.6 imagestring()函数沿水平方向在图像中画一行字符串。

7.7 若要向图像中写入中文,需要注意什么?

答:要向图像中写入中文,首先需要把中文字符串转换为 UTF8

格式,然后用 TrueType

字体向图像写入文本。

·12·

习题 8 答案

8.1 在 Windows 系统中,启动或停止 MySQL 服务器有哪些方法?

答:有两种方法:(1)从命令行;(2)用 Windows 服务管理工具。

8.2 设一个 MySQL 账户的用户名为 admin,登录密码为 123456,则 mysql 工具连接MySQL 服务器的的命令行为:mysql uroot

p123456

8.3 设有一个 SQL 脚本文件 test.sql,要利用 mysql 工具执行该文件中的 SQL 语句,应在 mysql 提示符下输入:\. test.sql。

8.4 如何列出当前 MySQL 服务器上的所有数据库?如何从服务器中删除一个数据库?答:要列出 MySQL 服务器上的所有数据库用 SHOW DATABASES 语句;要从服务器上

删除一个数据库用 DROP DATABASE 语句。

8.5 使用 CREATE TABLE 语句在数据库中创建表时,在列定义中可以设置哪些内容?

答:使用 CREATE TABLE 语句在数据库中创建表时,在列定义中可以设置以下内容:

列名称;数据类型;是否为空;自动编号;主键;注释文字。

8.6 根据要求在下列横线上填写适当的内容。

USE student_info ?

SHOW TABLES ?列

出数据库中的所有表

SHOW COLUMNS FROM students ?查

看 students 表中各列的信息

RENAME TABLE results TO scores ?把

results 表重命名为 scores

DROP TABLE scores ?从

数据库中 scores 表

8.7 用 INSERT...VALUES 语句只能一次插入一行吗?如何从一个表中获取记录并插入

另一个表中?

答:用 INSERT…VALUES 语句一次可插入多行记录;要从一个表中获取记录并插入另

一个表中可用 INSERT...SELECT 语句。

8.8 SELECT 语句包含哪些主要子句,这些子句的作用分别是什么?

答:SELECT 语句可包含以下主要子句。

(1)SELECT 子句给出一个想要选择的列清单;

(2)INTO 子句指标将选择的行写入一个文件中;

(3)FROM 子句指示从哪个表或哪些表中选择行;

(4)WHERE 子句指示被选择的行必须满足的条件;

(5)GROUP BY 子句指示输出行根据 GROUP BY 列进行分类;

(6)ORDER BY 子句指示如何对检索到的行进行排序处理;

(7)HAVING 子句也用于指定对记录的过滤条件,但通常与GROUP BY 子句一起使用;(8)LIMIT 子句用于限制被 SELECT 语句返回的行数。

8.9 如何从多个表中检索数据?

答:要从多个表中检索数据,可在 FROM 子句中使用各种连接(JOIN)运算来组合不同

表中的列,同时使用 ON 子句来设置表之间的关联条件。

8.10 使用 SELECT 语句查询数据时,如何设置要返回的行数?

答:使用 SELECT 语句查询数据时,要设置返回的行数可用 LIMIT 子句。

·13·

8.11 如何对表中的记录进行更新?如何从表中删除记录?

答:要更改表中的记录用 UPDATE 语句;要从表中删除记录用 DELETE 语句。

8.12 什么是视图?视图有什么用处?

答:视图是一个基于选择查询的虚拟表,其内容是通过选择查询来定义的。视图提供查

看和存取数据的另外一种途径,使用视图不仅可以简化数据操作,也可以提高数据库的安全性。

8.13 如何在数据库中创建存储过程?如何调用存储过程?

答:要创建存储过程,可用 CREATE PROCEDURE 语句;要调用存储过程,可用 CALL

语句。

8.14 存储函数与存储过程有什么不同点?

答:两者的不同点是存储函数有返回值,存储过程则没有。

8.15 在创建触发程序时,别名 OLD 和 NEW 有什么作用?

答:使用 OLD.col_name 来引用更新前的某一行的列;使用 NEW.col_name 来引用将要

插入的新行的一列。

8.16 如何创建新的 MySQL 用户账户?

答:要创建新的 MySQL 用户账户,可用 CREATE USER 语句或 GRANT 语句。

8.17 如何对用户账户设置和撤销权限?

答:要对用户账户设置权限,可用GRANT语句;要撤销权限,可用使用 REVOKE 语句。

8.18 如何对用户账户设置密码?

答:要对用户账户设置密码,可用 SET PASSWORD 语句。

·14·

习题 9 答案

9.1 非持久连接与持久连接有什么区别?它们分别用什么方法建立?

答:非持久连接和持久连接两种的区别:非持久连接在 PHP 代码结束时自动关闭,持久连接后者则不会被关闭。非持久连接用 mysql_connect()函数创建,持久连接用

mysql_pconnect

函数创建。

9.2 mysql_select_db()函数用于从 MySQL 服务器上选择所需要的数据库。

9.3 当在 Dreamweaver 中创建数据库连接时将生成一个 PHP 文件,它包含哪些内容?

存放在何处?

答:数据库连接文件的内容:首先通过 4 个变量保存数据库连接参数,包括 MySQL 服

务器名称、要连接的数据库名称、用户名及密码,然后通过调用 mysql_pconnect()函数创建一

个持久连接;该文件存放在站点根目录下的 Connections 文件夹内。

9.4 为了避免访问 MySQL 数据库时出现乱码现象,应在数据库连接文件中添加什么语句?

答:为了避免出现乱码现象,应在数据库连接文件中添加以下语句:

mysql_query ( "SET NAMES gb2312" ) ?

9.5 使用 mysql_query()函数发送 SELECT 语句时,执行成功将返回一个资源标识符,

若查询执行不正确则返回 false。对于其他类型的 SQL 语句,执行成功时返回 true,出错时返

回 false。

9.6 使用 mysql_query()函数发送 SQL 语句后,可调用 mysql_num_rows()函数来查看SELECT 语句返回了多少行,或调用 mysql_affected_rows()函数来查看对应于 DELETE、INSERT 或 UPDATE 语句影响到了多少行。

9.7 使用 mysql_fetch_array()函数可以从记录集中取得一行作为关联数组、枚举数组或二者兼有;使用 mysql_fetch_row()函数从记录集中取得一行并作为枚举数组,使用mysql_fetch_assoc()函数从记录集中取得一行并作为关联数组。

9.8 使用 mysql_num_rows() 函数可以取得记录集中包含的行数;使用

mysql_num_fields()函数可以取得记录集中包含的列数。

9.9 使用简单记录集对话框创建记录集有什么特点?使用高级记录集对话框呢?

答:使用简单记录集对话框创建记录集时,有以下特点:无须手动输入 SQL 语句,但只能实现单表查询,而且筛选条件和排序准则只能包含单个字段。使用高级记录集对话框创建记录集时,有以下特点:可以自己动手编写 SQL 语句或者使用图形化的“数据库项”树来协

助创建 SQL 语句,可以通过使用各种各样的子句来创建比较复杂的数据库查询,例如,在SQL 语句可以包含多个变量,在排序准则中也可以包含多个字段。

9.10 在 Dreamweaver 中创建分页显示记录集的页面,主要包括哪些步骤?

答:在Dreamweaver 中创建分页显示的记录集的页面时,主要包括以下步骤:创建记录集;插入动态表格;插入记录集导航条;插入记录集导航状态。

9.11 通过编程方式实现添加记录,有哪些要点?

答:通过编程方式实现添加记录时,有以下编程要点。

(1)连接到 MySQL 服务器并选择要访问的数据库。

·15·

(2)向 MySQL服务器发送一个 SET NAMES gb2312 语句,保证中文字符得到正确处理。(3)通过预定义数组$_POST 获取用户通过表单提交的数据,并将这些表单数据应用于INSERT INTO 语句中。

(4)向 MySQL 服务器发送一条 INSERT INTO 语句,从而实现新记录的添加。

9.12 在 Dreamweaver 中创建添加记录的页面,需要添加哪些功能块?

答:在Dreamweaver 中创建添加记录的页面,需要添加以下两个功能块:允许用户输入

数据的 HTML 表单和用于更新数据库的“插入记录”服务器行为。

9.13 通过编程方式实现记录更新,有哪些要点?

答:通过编程方式实现更新记录时,有以下编程要点。

(1)通过主/详细页集合实现记录的选择和更新,在主页中通过链接选择要更新的记录,通过 URL 参数向详细页传递要更新记录的标识(如学号),在详细页中获取该记录标识并据

此来检索要更新的记录集,将各个表单控件绑定到相关的记录字段上。有时也将主页和详细页合并在一起。

(2)当提交表单时,用预定义数组变量$_POST 获取表单变量的值,把这些值作为字段

的新值用于 UPDATE 语句。

(3)创建数据库连接,设置字符集,并通过调用 mysql_query()函数来执行 UPDATE 语

句以实现记录更新。

(4)执行 UPDATE 语句后,通过调用 mysql_affected_rows()来获取被更新的记录行数。

9.14 在 Dreamweaver 中创建更新记录的页面,需要添加哪些功能块?

答:在Dreamweaver 中创建更新记录的页面,需要添加以下功能模式:用于从数据库表

中检索记录的过滤记录集;允许用户修改记录数据的HTML 表单;用于更新数据库表的“更新记录”服务器行为。

9.15 在 Dreamweaver 中,如何实现表单控件的动态化?

答:在 Dreamweaver 中,要实现表单控件的动态化,首先在文档中选择该表单控件,然

后在属性检查器上单击【动态】按钮,并将该控件的属性绑定到动态内容源。

9.16 通过编程方式实现删除记录,有哪些要点?

答:通过编程方式删除记录时,有以下编程要点。

(1)连接到 MySQL 服务器并选择要访问的数据库。

(2)编写一个 DELETE 语句,并通过WHERE 子句来指定要删除哪些记录;通常是列出

一个记录列表,让用户通过超链接来选择要删除的记录。

(3)若要删除多条记录,则可以在记录列表为每行记录添加一个复选框。

(4)当用户单击提交按钮时,通过调用 mysql_query()函数向 MySQL 服务器发送一个DELETE 语句,以完成记录删除操作。

(5)如果需要,可以对提交按钮编写客户端脚本,以便让用户对删除操作进行确认。(6)通过调用 mysql_affetced_rows()函数获取被删除记录的行数。

9.17 在 Dreamweaver 中,如何快速生成记录删除页面?

答:在 Dreamweaver 中,可以利用“删除记录”服务器行为快速生成记录删除页面,记

录删除页面通常用作主/详细页集合中的详细页。在主页中通过单击链接选择要删除的记录,在记录删除页中从数据库表中检索待删除的记录,以只读方式显示待删除记录。当单击提交

按钮时,通过“删除记录”服务器行为将删除语句发送给服务器。

·16·

习题 10 答案

10.1 在会员管理系统中,哪些页对所有用户开放?哪些页是受保护页?哪些页仅限系统管理员访问?

答:在会员管理系统中,注册页、登录页和查询密码页对所有用户开放,会员管理页仅

供系统管理员访问,其他页面对所有用户开放。

10.2 在制作会员注册页时,提交表单时检查新用户名是否存在是通过添加什么服务器行为来实现的?当光标离开用户名文本框时检查新用户名是否可用是通过什么对象来实现的?

答:制作会员注册页时,提交表单时检查新用户名是通过添加一个“检查新用户名”服

务器行为来实现;当光标离开用户名文本框时检查新用户名是通过 HttpXmlRequest 对象来实

现的。

10.3 登录页可以通过添加什么服务器行为来快速生成?

答:登录页可以通过添加“登录用户”服务器行为来快速生成。

10.4 会员完成登录后,用户名和访问级别分别存储在哪里?

答:会员完成登录后,用户名和访问级别分别存储在以下会话变量中:

$_SESSION["MM_Username"];$_SESSION["MM_UserGroup"]。

10.5 在 Dreamweaver 中,通过添加什么服务器行为来生成受保护页?

答:在 Dreamweaver 中,通过添加“限制对页的访问”服务器行为来生成受保护页。__

php考试题 (选择题)

1.php中,不等运算符是()BC A ≠ B != C <> D >< 2.函数的参数传递包括:AB A 按值传递 B 按引用传递 C 按变量传递 D 按作用域传递 3.php中,赋值运算符有()ADB A = B += C == D .= 4.php中可以实现程序分支结构的关键字是()CD A while B for C if D switch 5.continue语句可以用在()中。ABC A for B while C do-while D switch 6.break可以用在()语句中ABCD A switch B for C while D do-while 7.php中可以实现循环的是() A C A for B break C while D waiting 8.PHP中,标识符允许出现的符号有: ABC A 大写字母 B 小写字母 C 数字 D 减号 9.PHP允许的注释符号有: ACD A //

B 闭合的段落 C # D /*和*/闭合的段落 10.PHP表单的提交方法有: ACB A post B request C get D querystring 11.PHP语言标记用的是什么( )符号ACD A 〈? ?> B 〈php > C 〈?php ?> D 〈% %> 12.php中数组可以使用哪些键名?AB A 数字键名 B 下标 C 随机 D 文本(或字符串)键名 判断题:(共40题,每题1分) 1 JavaScript脚本语言的前身是B A.Basic B.Live Script C.Oak D.VBScript 2使用CSS对文本进行修饰,若使文本闪烁,text-decoration的取值为D A.none B.underline C.overline D.blink 3 XML基于的标准是C A.HTML B.MIME C.SGML D.CGI 4 标记符title是放在标记符什么之间的B A.html与html B.head与head C.body与body D.head与body 5 <img>标记符中连接图片的参数是:B A. href B. src C. type D. align 6 级联样式表文件的扩展名是:B A html Bcss C xml D dib 7 同以往的版本相比较,HTML4.0:C A 增加了JavaScript支持 B 增加了Flash技术 C 增强了网页的动态性 D 增加了ActiveX技术 8 在HTML中,标记

的作用是B A.标题标记 B.预排版标记 C.转行标记 D.文字效果标记

php数组操作

第三讲数组 一、什么是数组 数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。数组的每个实体都包含两项:键和值。 二、声明数据 在PHP中声明数组的方式主要有两种: 一是应用array()函数声明数组, 一是直接为数组元素赋值。 <1> array()函数用来新建一个数组。它接受一定数量用逗号分隔的key => value参数对。 array( [key=>] value, ... ) // key可以是数字或者字符串// value可以是任何值 如, "编","2"=>"程","3"=>"词","4"=>"典"); ?>

<2>直接为数组元素赋值。 如果在创建数组时不知所创建数组的大小,或在实际编写程序时数组的大小可能发生变化,采用这种数组创建的方法较好。如, 三、数组的类型 PHP支持两种数组:索引数组(indexed array)和联合数组(associative array),前者使用数字作为键,后者使用字符串作为键。 四、输出数组 1.在PHP中对数组元素输出,可以通过echo语句来实现,但这只能对数组中某一元素进行输出;要将数组结构输出则要使用print_r()函数,

其语法:print_r(mixed expression),参数expression为普通的整型、字符型或实型。变量则输出该变量本身,如果该参数为数组,则按一定键值和元素的顺序显示出该数组中的所有元素。 2.用foreach 循环显示数组元素: "; echo "
"; } foreach($phpjc as $key=>$value) { echo $key.": ".$value;

PHP试题带答案

一、是非题:(每题1分,共10分) (说明:认为陈述正确的在括号内打“√”;否则在括号内打“×”) 1.PHP 中变量名“$_abc ”不是合法的。( ) 2.PHP 只能使用Mysql 数据库。( ) 3.PHP 中的数组键必须为数字,且从“0”开始。( ) 4.全等运算符“===”在比较时,只有在两者的数据类型和值都相同时才返回True 。( ) 5.“mysql_connect( )”与“@mysql_connect( )”没有任何区别。( ) 6.使用continue 语句可以实现PHP 程序的跳转。( ) 7.HTML 中的Form 表单数据必须使用Submit 按钮才可以提交。( ) 8.PHP 中的die()和exit()都可以实现程序中止退出功能。( ) 9.PHP 程序中可以随时嵌入HTML 代码和JS 代码。( ) 10.PHP 中的Session 功能可以完全不受制于客户端的Cookie 设置。( 二、填空题:(每空1分,共10分) 1.HTML 的Form 表单中定义单选按钮需要使用INPUT 的 类型,定义复选按钮需要使用INPUT 的 类型。 2.PHP 表达式10%值为 ,表达式10/值为 。 3.Mysql 数据库服务默认开放的端口号是 ,默认管理员为 。 4.为了能够避免SQL 注入,你需要坚持 。 5.表达式“'Testing'.'3'+'5'.'12'”的值为 。 6.PHP 函数中可以利用 向外返回一个值,可以使用 声明一个 全局变量。 三、单选题:(每题2分,共30分) (说明:将认为正确答案的字母填写在每小题后而的括号内) 1.输出结果为:( ) A .123 B .423 C .122 D .413 2.The PHP function that is used to create functions, headers, footers, or elements that will be reused on multiple pages is ( ). A .require() B .refill() C .reuse() D .None of the Above 3.If you want to come out of a while loop which of the following is used ( ) A .exit B .close C .end D .break 4.Which of the following statement about PHP is FALSE ( ) A .PHP is a web scripting language. B .PHP is a client side language. C .PHP is server-side scripting language that allows you to generate dynamic

PHP 基础测验试题

1.PHP 指的是? 您的回答:PHP: Hypertext Preprocessor 2.PHP 服务器脚本由哪个分隔符包围? 您的回答: 3.如何使用PHP 输出"hello world"? 您的回答:echo "Hello World"; 4.在PHP 中,所有的变量以哪个符号开头? 您的回答:$ 5.结束PHP 语句的正确方法是? 您的回答:; 6.PHP 语法与下列哪种最相似? 您的回答:JavaScript 正确答案:Perl 和C 7.如何从使用"get" 方法提交的表单中获取数据? 您的回答:Request.QueryString; 正确答案:$_GET[]; 8.请判断以下说法是否正确:当使用POST 方法时,变量显示在URL 中。 您的回答:正确 正确答案:错误 9.请判断以下说法是否正确:在PHP 中,既可以使用单引号( ' ' ) 也可以使用双引号( " " ) 来包围字符串。 您的回答:正确 10.请判断以下说法是否正确:包含文件必须使用文件后缀".inc"。 您的回答:正确 正确答案:错误 11.引用文件"time.inc" 的正确方法是? 您的回答: 正确答案: 12.在PHP 中创建函数的正确方法是? 您的回答:function myFunction() 13.以只读模式打开文件"time.txt" 的正确方法是? 您的回答:fopen("time.txt","r+");

正确答案:fopen("time.txt","r"); 14.请判断以下说法是否正确:PHP 允许我们直接通过脚本来发送电子邮件。 您的回答:正确 15.连接MySQL 数据库的正确方法是? 你的回答:无 16.给$count 变量加1 的正确方法是? 您的回答:$count++; 17.在PHP 中,添加注释的正确方法是? 您的回答: 正确答案:/*…*/ 18.请判断以下说法是否正确:PHP 可以在Microsoft Windows IIS (Internet Information Server) 上运行。 您的回答:正确 19.请判断以下说法是否正确:在PHP 5 中,在默认情况下MySQL 支持是启用的。 您的回答:正确 正确答案:错误 20.以下的变量名,哪个是不合法的? 您的回答:$my-Var

PHP数组实验报告

PHP数组实验报告 班级:10网工三班学生姓名:谢昊天学号:1215134046 实验目的和要求: 掌握PHP的数组声明; 掌握PHP的数组定义; 掌握PHP数组的遍历和排序; 熟练运用数组完成相关的任务。 实验内容: 自己构造一个名字为students的二维数组,每个学号代表一名学生,该学生的信息由“姓名”、“性别”、“成绩”组成,数组中的元素至少具备5条。 然后按照学生的成绩高低对该二维数组进行排序,并在网页中显示排序前后的students数组。 实验步骤与调试过程: 1、启动wamp服务器; 2、注册并打开editplus.exe文件在打开弹出对话窗口选择给定的php程序,程序一定要保存C:\wamp\www 目录下; 3、在editplus中对程序进行编辑添加代码实现功能; 4、编写一个二维数组,然后进行添加数组元素; 5、编写一个函数function array_rsort ($arr,$keys, $type='desc') { // $arr 数组,$keys 所需要进行排序的键值,$type顺序; 6、定义一个变量数组$keysvalue = $new_array = array(); 7、使用foreach循环,把二维数组的第一层数组进行赋值给$keysvalue = $new_array; 8、用if语句来判断排列数组类型是升序还是降序; 9、使数组执行第一个元素reset($keysvalue); 10、再用foreach编译$keysvalue数组,并把数组的值赋给$new_array数组,返回$new_array数组; 11、调用函数$stu = array_rsort($student,'grade');并赋值给变量$stu; 12、$students["000001"]=array("学号"=>"000001","姓名"=>"张三","性别"=>"女","成绩"=>60); $students["000002"]=array("学号"=>"000002","姓名"=>"张四","性别"=>"女","成绩"=>90);

PHP试题带答案

评卷人得分分)1分,共10一、是非题:(每题)(说明:认为陈述正确的在括号内打“√”;否则在括号内打“×” )$_abc”不是合法的。(1.PHP中变量名“)数据库。(2.PHP只能使用Mysql)”开始。(3.PHP中的数组键必须为数字,且从“04.全等运算符“===”在比较时,只有在两者的数据类型和值都相同时才返回True。() 5.“mysql_connect( )”与“@mysql_connect( )”没有任何区别。() 6.使用continue语句可以实现PHP程序的跳转。() 7.HTML中的Form表单数据必须使用Submit按钮才可以提交。() 8.PHP中的die()和exit()都可以实现程序中止退出功能。() 9.PHP程序中可以随时嵌入HTML代码和JS代码。() 10.PHP中的Session功能可以完全不受制于客户端的Cookie设置。() 评卷人得分 二、填空题:(每空1分,共10分) 1.HTML的Form表单中定义单选按钮需要使用INPUT的类型,定义复选按钮需要使用INPUT的类型。 2.PHP表达式10%值为,表达式10/值为。 3.Mysql数据库服务默认开放的端口号是,默认管理员为。4.为了能够避免SQL注入,你需要坚持。 5.表达式“”的值为。'Testing'.'3'+'5'.'12'6.PHP 函数中可以利用向外返回一个值,可以使用声明一 个全局变量。 评卷人得分30分)三、单选题:(每题2分,共(说明:将认为正确答案的字母填写在每小题后而的括号内) 1.输出结果为:()A.123 B.423 C.122 D.413 2.The PHP function that is used to create functions, headers, footers, or elements that will be reused on multiple pages is(). A.require() B.refill() C.reuse() D.None of the Above

PHP基础教程

什么是 PHP? ? PHP 指 PHP:超文本预处理器(译者注:PHP: Hypertext Preprocessor,递归命名) PHP 是一种服务器端的脚本语言,类似 ASP PHP 脚本在服务器上执行 PHP 支持很多数据库 (MySQL、 Informix、 Oracle、 Sybase、 Solid、 PostgreSQL、 Generic ODBC 等等) PHP 是一个开源的软件(open source software,OSS) PHP 可免费下载使用 什么是 MySQL? ? MySQL 是一种数据库服务器 MySQL 支持标准的 SQL MySQL 可在许多平台上编译 MySQL 可免费下载使用 为什么要使用 PHP PHP PHP PHP PHP? ? 可在不同的平台上运行(Windows、Linux、Unix) 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等) 可从官方的 PHP 资源免费下载:https://www.wendangku.net/doc/1c4387166.html, 易于学习,并可高效地运行在服务器端
从何处开始? 从何处开始? 在 Windows 或者 Linux 机器上安装 Apache 服务器 在 Windows 或者 Linux 机器上安装 PHP 在 Windows 或者 Linux 机器上安装 MySQL 什么是 PHP PHP PHP PHP 文件? 文件? 文件可包含文本、HTML 标签以及脚本 文件向浏览器返回纯粹的 HTML 文件的文件后缀是 ".php"、".php3" 或 ".phtml"
下面的链接提供了来自 https://www.wendangku.net/doc/1c4387166.html, 的优秀教程,您可以从中学习到如何安装 PHP5: https://www.wendangku.net/doc/1c4387166.html,/manual/en/install.php 下载 PHP 从此处下载免费的 PHP:https://www.wendangku.net/doc/1c4387166.html,/downloads.php
下载 MySQL Database 从此处下载免费的 MySQL:https://www.wendangku.net/doc/1c4387166.html,/downloads/index.html 下载 Apache Server 从此处下载免费的 Apache:https://www.wendangku.net/doc/1c4387166.html,/download.cgi 文件的输出 您无法在浏览器中通过查看源文档的方式来查看 PHP 的源代码 - 您只能看到 PHP 文件的输出,即纯粹 的 HTML。这是因为在结果返回浏览器之前,脚本就已经在服务器执行了。 。这是因为在结果返回浏览器之前,脚本就已经在服务器执行了。
基本的 PHP 语法
PHP 的脚本块以 结束。您可以把 PHP 的脚本块放置在文档中的任何位置。 当然,在支持简写的服务器上,您可以使用 来开始和结束脚本块。 不过,为了达到最好的兼容性,我们推荐您使用标准形式 ( PHP 文件通常会包含 HTML 标签,就像一个 HTML 文件,以及一些 PHP 脚本代码。 在下面,我们提供了一段简单的 PHP 脚本,它可以向浏览器输出文本 "Hello World":

php在线考试系统

奥瑞文OrivonExam 在线考试系统 产品介绍 2010年7月

目录 一.系统概述 (3) 二.技术架构 (3) 三.系统特点 (3) 四.功能列表说明 (6) 五.系统硬件需求 (10) 六.版本说明 (10) 七.售后服务 (11)

一.系统概述 OrivonExam是奥瑞文网络科技有限公司推出的专门针对企业级设计的新一代在线考试系统。OrivonExam以开放、动态的系统架构,将传统的考试模式与先进的互联网应用相结合,可使用户完全根据自身应用特点快速构建考试平台系统,实现对在线考试工作的高效组织和管理。OrivonExam采用功能强大、高效灵活的PHP/MySQL架构和全B/S 模式,具有高度的可扩展性,被授权的考试用户不管身处何地,只要可以使用网络浏览器(IE6,IE7,IE8,FireFox,Chrome等),就可通过网络登录在线试系统,参加在线考试、在线调查、在线报名、在线练习等;OrivonExam不仅可应用于局域网,也可应用于互联网,不仅可以独立构建,也可同用户现有的Intranet/Internet 集成;使用系统提供的灵活易用的数据接口,可快速将用户已有的员工资料、题库等资源导入,利用OrivonExam 强大的数据整合能力与全面的管理功能,迅速开始各种类型的考试。 OrivonExam产品体系不仅可满足各类专业的教育、考试、培训机构的考试应用与管理需求,也是各类政府机构、企业、学校、事业单位进行学习管理、考试考核、技能评测的理想平台。OrivonExam产品体系开放的架构、精良的设计、专业的服务,将为用户创造完美的应用价值。 二.技术架构 OrivonExam基于PHP开发,适用于多种操作系统及多种数据库平台。结构上的合理性为OrivonExam提供了高效稳定的运行环境,使OrivonExam无论在运行速度、易用性还是在数据吞吐能力方面都表现卓越,尤其是在系统并发性、稳定性方面,遥遥领先于基于微软环境的其它同类考试系统。OrivonExam的前端应用系统和后端管理系统均采用B/S 模式, 可以通过浏览器进行访问和管理,具有高度的可扩展性、高度的安全性、稳定性与可靠性。 后端管理系统:拥有OrivonExam全部管理权限,包括信息管理、用户管理、统计分析、系统管理、数据管理、试卷管理、题库管理、监考管理、考试管理等。 前端应用系统:用户可通过浏览器进行用户登录、参加考试、查看我的错题、成绩查询、个人资料注册与修改功能等特点。 三.系统特点 1.系统基于关系型数据库平台构建,可管理、处理大批量的题库与考试数据 OrivonExam基于MySQL数据库平台构建,保证了OrivonExam 高效稳定的运行。 2. 系统架构采用三层结构、B/S模式开发,安全可靠、灵活高效 OrivonExam 系统基于LAMP结构、B/S 模式开发,使系统具有高度的安全性与可靠性;被授权的用户通过浏览器即可登录系统,灵活高效。

php常用数组函数整理

'windows','server'=>'apache','language'=>'PHP'); // foreach ($arr as $key => $value) { // echo $key.":".$value."
"; //循环输出多维数组 // $arr=array( // '公关部'=>array( // array('包子','经理','1500'), // array('佳佳','职员','0') // ), // '广告部'=>array( // array('包子','经理','1500'), // array('佳佳','职员','0') // ), // '设计部'=>array( // array('包子','经理','1500'), // array('佳佳','职员','0') // ) // ); // foreach ($arr as $key => $value) { // echo "

// // // "; // foreach ($value as $key => $value) { // echo ""; // foreach ($value as $key => $value) { // echo ""; // } // echo ""; // } // echo "

".$key."的10月工资

姓名职务工资
".$value."

"; // } // each函数list函数 // $arr=array('1','2','3','4','5','6'); // $arr2=array('1'=>'包子','2'=>'2B','3'=>'逗比','4'=>'包子佳佳','5'=>'佳佳包子','6'=>'佳佳'); // $arr2=each($arr); // print_r($arr2); // list($key,$value)=$arr2; // echo $key.":".$value;

php期末考试试题

《PHP程序设计》上机期末考试试题 一、调试下列各小题的输入结果(每题10分,共34分) 1、 调试答案:____________________________. 2、$c?4:5; echo $a; ?> 调试答案:____________________________. 3、1,12=>2); $arr[]=3; $arr["x"]=4; print_r($arr); echo "
"; unset($arr[5]); print_r($arr); echo “
”; unset($arr); print_r($arr); ?> 调试答案:____________________________. 4、10) break; echo $i++." ";} echo "
"; ?> 调试答案:____________________________. 5、"; for($i=1;$i<=$m;$i++){ $table.=""; for($j=1;$j<=$n;$j++){ $table .= "m:$i, n:$j";

} $table .= ""; } $table .= ""; echo $table; ?> 调试答案:____________________________. 6、"; echo gzgets($id,4)."
"; gzclose($id);$id=gzopen("test.gz","w"); gzputs($id,"this is a test.\n"); gzputs($id,"the second line.\n"); gzclose($id);$id=gzopen("test.gz","r"); echo gzgetss($id,10)."
"; gzpassthru($id); echo "
"; gzclose($id); ?> 调试答案:____________________________. 二、编程题及程序调试(每题20分共计40分) 1、有一个数组$a=array(4,3,8,9,2),将其重新排序并输入结果,按从小到大的顺序排列。1、 $a[$i+1]) { $temp = $a[$i]; $a[$i] = $a[$i+1]; $a[$i+1] = $temp; } } $j++; } print_r($a); ?> 2、数据库qzh中有一个表user,其结构为(name,tel,content,date),已有如下三条记录 张三133******** 大专毕业2006-10-11 张三136******** 本科毕业2006-10-15

php数组比较差异 array

上篇文章说了array_diff,这次是它的升级版本,php数组差异性比较array_diff_assoc 函数,用来比较不同数组中的key 和value的 差异并按照索引数组输出。 使用语法跟array_diff一样 $newarray = array_diff_assoc($array1,$array2.....); 要注意的也一样:array_diff_assoc 不能递归对比,只能是一维数组,如果数组嵌套数组,则将后面的数组按"数组"比较,就算不同 的数组也会相同。 不一样的而是,这次的比较多了key值,即索引值,如果索引不同,也要返回到数组中。 举例: 1.有索引的比较 <?php $array = array("key_name"=>"array","key_function"=>"array_diff_assoc"); $array1 = array("site"=>"forasp","name"=>"网站制作学习网","key_function"=>"array_diff_assoc"); $forasp = array_diff_assoc($array,$array1); print_r($forasp); ?> 结果: Array ( [key_name] => array //也就是这个key-value 值没有在后面的数组中出现,是个不同值。 ) 2.如果是无索引的数组呢 <?php $array = array("forasp","array","array_diff_assoc"); $array1 = array("forasp","网站制作学习网","array_diff_assoc"); $forasp = array_diff_assoc($array,$array1); print_r($forasp); ?> 结果跟上面的一样,不同的是这个key变成了索引 Array ( [1] => array //也就是这个key-value 值没有在后面的数组中出现,是个不同值。 ) 也就是说在没有索引的数组中,比较的是索引id 和value。 array_diff_assoc就介绍完了,它就是array_diff的升级版本吧。 更多信息请查看IT技术专栏

6---PHP数组函数

(1)数组的概念与分类 定义:数组是php中最重要的数据类型之一,在php中的应用非常的广泛。因为php 是弱类型的编程语言,所以php中的数组变量可以存储任意多个、任意类型的数据。使用数组的目的,就是将多个相互关联的数据组织到一起,形成一个集合,作为一个单元使用达到批量数据处理的目的。 Php中数组的根据索引来分为关联数组和数字索引数组。如果一个数组中的索引全部为数字,那么数组就称为数字索引数组。如果数组中有一个索引为字符串那么数组就称为关联数组。 (2)Php中数组的定义 A.定义方式 (1)使用array()声明 可以用array()语言结构来新建一个数组。它接受任意数量用逗号分隔的键(key) => 值(value) 对,例如: "bar", 12 => true); echo $arr["foo"]; // bar echo $arr[12]; // 1 ?> 其中键可以为整型或字符串型,值可以为任何类型。如果对给出的值 没有指定键名,则取当前最大的整数索引值,而新的键名将是该值加 一。如果指定的键名已经有了值,则该值会被覆盖。 (2)使用[]声明 我们可以使用[]来定义和修改数组元素 B.对数组元素的操作 (1)追加数组元素(就是在数组的末尾添加数组元素) $数组名[键名]=值; (2)更新数组元素 $数组名[键名]=新值; (3)删除数组元素 Unset($数组名[键名]) (4)在数组头部添加数组元素 Array_unshift($arr, $value),在数组的开头插入一个元素。 (5)在数组的尾部添加数组元素 Array_push($arr, $value1, $value2..),将一个或多个元素压入数组栈的末尾(入栈),返回入栈元素个数。

phP基础知识期末考试题

1.mysql_connect( )与@mysql_connect( )的区别是( B ) A@mysql_connect( )不会忽略错误,将错误显示到客户端 B mysql_connect( )不会忽略错误,将错误显示到客户端 C 没有区别 D 功能不同的两个函数 2.语句for($k=0;$k=1;$k++);和语句for($k=0;$k==1;$k++);执行的次数分别是: A A无限和0 B 0和无限 C 都是无限 D 都是0 3.读取post方法传递的表单元素值的方法是: B A$_post["名称"] B $_POST["名称"] C $post["名称"] D $POST["名称"] 4.php运算符中,优先级从高到低分别是()B A关系运算符,逻辑运算符,算术运算符 B 算术运算符,关系运算符,逻辑运算符 C 逻辑运算符,算术运算符,关系运算符 D 关系运算符,算术运算符,逻辑运算符 5.cookie的值存储在() C A硬盘中 B 程序中 C 客户端 D 服务器端 6.要查看一个变量的数据类型,可使用函数( ) B A type() B gettype() C GetType() D Type() 7.字符串的比较,是按()进行比较。B A拼音顺序 B ASCII码值 C 随机 D 先后顺序 8.复选框的type属性值是( ) A

A checkbox B radio C select D check 9.SESSION会话的值存储在()D A硬盘上 B 网页中 C 客户端 D 服务器端 10.如果想取得最近一条查询的信息,应该使用哪个函数( ) A A mysql_info B mysql_stat C mysql_insert_id( ) D mysql_free_result 11.要查看一个结构类型变量的值,可以使用函数( ) D A Print( ) B print( ) C Print_r() D print_r( ) 12.在PHP中哪个变量数组总是包含所有总客户端发出的cookies数据( ) A A$_COOKIE B $_COOKIES C $_GETCOOKIE D $_GETCOOKIES 13.下列哪个说法是错误的( ) D A gettype( )是查看数据类型的 B 没有被赋值的变量是0 C unset( )是被认为NULL D 双引号字符串最重要的一点是其中的变量名会被变量值替代 14.HTML中,超链接用的是什么标签 A A〈a> B 〈table> C 〈b> D 〈head> 15.strtolower( )函数的功能是()A upper 转为大写 A将给定的字符串全部转换为小写字母 B 将给定的字符串全部转换为大写字母

PHP课程考试复习题库

一、单选题 1、MySQL中查询的时候可以掉重复记录的是() A.select distinct name from user B.select name distinct from user C.select name from user D.select name from user limit 1 答案:A 2、以下PHP数组函数中,能取得数组键名的函数是()。 A.Array_keys B.Array_values C.Array_merge D.Array_flip 答案:A 3、经过破译敌人的密码,已经知道了“香蕉苹果大鸭梨”的意思是“星期三秘密进攻”“苹果甘蔗水蜜桃”的意思是“执行秘密计划”;“广柑香蕉西红柿”的意思是“星期三的胜利属于我们”;那么“大鸭梨”的意思是()。 A.秘密 B.星期三 C.进攻 D.执行 答案:C 4、下列MySQL语句中,属于DML的有()。 A.create table B.alter table C.drop table D.insert 答案:D 5、对echo(),print(),print_r()的区别叙述不正确的是 A.Echo是语句,没有返回值 B.Print是函数,有返回值 C.Print_r可以输出基本变量及符合变量的内容 D.三者都能输出变量,echo和print一样,print_r可以输出复合变量的内容 答案:D 6、如何实现文章表news,id字段值为5记录的点击数字段num自增一 A.Update news set num=num+1; B.Update news set num=num+1 where id==5 C.Update news set num=num++ where id=5 D.Update news set num=num+1 where id=5 答案:D 7、PHP文件上传时,可以返回上传文件错误代码的数组成员是()。

php考试题

1、{PHP题目}标识符是变量的名称。PHP中的标识符用“$+变量名”来表示。标识符在PHP 中遵循下列选项中的那些规则?()(选择3项) A、标识符长度可以是任意的,由任何字母、数字、下划线组成。 B、在PHP中,标识符区分大小写,$Eduask与$eduask是不同的,但是函数名称是个 例外,它可以任意大小写。 C、标识符不需定义,可以直接使用。 D、避免变量名称与函数名相同,虽然变量名称和函数名称相同是允许的,但容易混淆, 从而导致传参错误。 2、{PHP题目}PHP标记符能够让Web服务器识别PHP代码的开始结束,两个标记之间的所有文本都会被解释成为PHP,而标记之外的任何文本都会被认为是普通的HTML,这就是PHP 标记的作用。下列选项中那些是PHP标记风格()(选择3项) A、标准风格 这是推荐使用的标记风格 B、脚本风格 在XHTML或者XML中推荐使用这种标记风格,它符合XML语言规范的写法 C、简短风格 这种标记风格最为简单,输入字符最少,但想要使用它,必须更改PHP的配置文件php.ini,启用short_open_tag选项。 D、JSP风格 <% echo “JSP风格标记”%> 这种标记风格和JSP相同,不推荐使用这种标记风格。想要使用它,必须更改PHP 的配置文件php.ini,启用了Jsp_tags选项。 3、{PHP题目}下面哪个函数可以打开一个文件,以对文件进行读和写操作?( )(选择1项) (a) fget() (b) file_open() (c) fopen() (d) open_file() 4、{PHP题目}下面哪个选项没有将 john 添加到users 数组中? ( )(选择2项) A、$users[] = ‘john’; B、array_add($users,’john’); C、array_push($users,‘john’); D、$users ||= ‘john’; 5、{PHP题目}选择下列选项中对echo(),print(),print_r()的区别的说法正确的是()(选择2项)。 A、echo、print是PHP语句,print_r是函数,语句没有返回值,函数可以有返回值(即 便没有用) B、echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即 便没有用) C、print只能打印出简单类型变量的值(如int,string);print_r可以打印出复杂类 型变量的值(如数组,对象) ;echo 输出一个或者多个字符串。 D、print_r只能打印出简单类型变量的值(如int,string);print可以打印出复杂类 型变量的值(如数组,对象) ;echo -- 输出一个或者多个字符串。

php基础知识期末考试题

单项选择题:(共50题,每题1分) 1.mysql_connect( )与@mysql_connect( )的区别是( B ) A @mysql_connect( )不会忽略错误,将错误显示到客户端 B mysql_connect( )不会忽略错误,将错误显示到客户端 C 没有区别 D 功能不同的两个函数 2.语句for($k=0;$k=1;$k++);和语句for($k=0;$k==1;$k++);执行的次数分别是: A A 无限和0 B 0和无限 C 都是无限 D 都是0 3.读取post方法传递的表单元素值的方法是: B A $_post["名称"] B $_POST["名称"] C $post["名称"] D $POST["名称"] 4.php运算符中,优先级从高到低分别是()B A 关系运算符,逻辑运算符,算术运算符 B 算术运算符,关系运算符,逻辑运算符 C 逻辑运算符,算术运算符,关系运算符 D 关系运算符,算术运算符,逻辑运算符 5.cookie的值存储在() C A 硬盘中 B 程序中 C 客户端 D 服务器端 6.要查看一个变量的数据类型,可使用函数( ) B A type() B gettype() C GetType() D Type() 7.字符串的比较,是按()进行比较。B A 拼音顺序 B ASCII码值 C 随机 D 先后顺序

8.复选框的type属性值是( ) A A checkbox B radio C select D check 9.SESSION会话的值存储在()D A 硬盘上 B 网页中 C 客户端 D 服务器端 10.如果想取得最近一条查询的信息,应该使用哪个函数( ) A A mysql_info B mysql_stat C mysql_insert_id( ) D mysql_free_result 11.要查看一个结构类型变量的值,可以使用函数( ) D A Print( ) B print( ) C Print_r() D print_r( ) 12.在PHP中哪个变量数组总是包含所有总客户端发出的cookies数据( ) A A $_COOKIE B $_COOKIES C $_GETCOOKIE D $_GETCOOKIES 13.下列哪个说法是错误的( ) D A gettype( )是查看数据类型的 B 没有被赋值的变量是0 C unset( )是被认为NULL D 双引号字符串最重要的一点是其中的变量名会被变量值替代 14.HTML中,超链接用的是什么标签A A 〈a> B 〈table> C 〈b> D 〈head> 15.strtolower( )函数的功能是() A upper 转为大写 A 将给定的字符串全部转换为小写字母

php常用操作数组的函数

Current(数组的名称);得到目前位置指针内容 $arr=array(“one”,”two”,”three”,1,35,5,6,”four”) $a=$current($arr); $b=$current($arr); V ar_dump($a); //返回one V ar_dump($b); //返回还是one key(数组的名称);读取目标指针所指向的数组的索引的值 $arr=array(“one”,”two”,”three”,1,35,5,6,”four”) $a=$key($arr); V ar_dump($a); //返回0即下标【0】 Next(数组名称);往下移动一个 $arr=array(“one”,”two”,”three”,1,35,5,6,”four”) Echo ($a); //返回one Next($arr); Echo ($a); //返回two prev(数组名称); 往前移动一个 … end(数组名称);移动到结尾 …….. reset(数组名称);重新回到第一个位置 …… Count(数组名称),sizeof();求数组长度 Array_change_key_case(目标数组,形态常数(CASE_UPPER CASE_LOWER));将字符串索引中的所有英文字母转化为大写或者小写 $arr=array(“one”=>”one”,”WWW”=>”two”,”three”,1,35,5,6,”four”) $newarr=Array_change_key_case($arr,CASE_UPPER); Print_r($newarr); Array_chunk(目标数组,分解的索引个数,【布尔值】);将目标数组的资料内容,指定的索引个数,分解成多个小数组,布尔值表示是否保持以前数组的索引 $arr=array(“one”=>”one”,”WWW”=>”two”,”three”,1,35,5,6,”four”) $newarr=Array_chunk($arr,2); //分解为了二维数组,每个数组里有两个元 Print_r($newarr);

相关文档