PHP课后作业 完整版(18页).doc
-PHP课后作业 完整版-第 18 页PHP课后作业作业一 2012.2.24P14 1. 列举常见的WEB服务器和数据库服务器。常见的WEB服务器有微软的Internet Information Server(IIS)服务器,IBM的WebSphere服务器,开源的Apache服务器等。常见的数据库服务器有甲骨文的Oracle,微软的SQL Server,IBM的DB2,SAP的Sybase以及SUN公司的MySQL服务器。2.列举你所熟知的动态网页程序设计语言。 PHP,JSP,.NET,ASP等P301. PHP的开始标记与结束标记有哪些,使用时有何注意,你更喜欢哪种标记方式? <1>开始标记“<?php"和结束标记"?>” <2>开始标记“<script language="php">” <3>开始标记“<?”和结束标记“?>”<4>开始标记“<%”和结束标记“%>” 2. echo语句和print语句有何区别和联系?Print_r实现什么功能?echo与print共同点:它们都不是真正的函数,是一种语法结构,因为语句没有返回值,函数可以有返回值(即便没有用)(也有说print是函数,echo不是)。echo和print 后面都可不用加(), 如: echo 'ok' print 'ok'运行速度echo稍快一些,因为echo并不返回值,print返回一个值int(1)。echo与print区别:一般用echo,除非三元运算时。$a=5; ($a=5) ? print '5': print 0;echo 后不要跟()。print只能有一个参数,所以不能不能用",",而echo可以。echo - 输出一个或者多个字符串print_r是递归打印,主要用于打印复杂类型变量的值(如 数组,对象) 3.你所熟知的编码规范有哪些?P28-30 <1>书写规范:缩进每个缩进的单位约定是一个Tab(制表符)大括号左大括号与关键词(如if,else,for,while,switch等)同行,右大括号与关键字同列。运算符 每个运算符与两边参与运算的值或表达式中间要有一个空格,字符串连接运算符号两边不加空格。 <2>命名规范:类类名每一个单词首字母大写常量常量名所有字母大写,单词间用下划线分隔,如NULL变量变量名可以为第一个单词首字母小写,其余单词首字母大写,如$userID数组为数组命名时尽量使用单词的复数形式,如$words函数与变量名的命名规范相同。数据库表字段与变量名的命名规范相同,如user_id类文件通常以.class.php为后缀 作业二 2012.3.10P54 一.选择题1. mysql_connect()与mysql_connect()的区别是(C).A. mysql_connect()不会忽略错误,将错误显示到客户端B. 没有区别C. Mysql_connect()不会忽略错误,将错误显示到客户端D. 功能不同的两个函数2. 执行以下PHP语句后,$y的值为(B)<?php$x=1;+$x;$y=$x+;Echo $y;A.1 B.2 C.3 D.03. 以下代码执行结果为(A)<?php$num="24linux"+6;echo $num;A.30 B.24linux6 C.6 D.30linux4. 以下代码哪个不符合PHP语法?(D)A. $_10 B. $"MyVar" C. & $something D. $10_somethings E. $aVaR5. 以下PHP代码 的运行结果是(D)<?PhpOb_start()For($i = 0; $i < 10; $i+)echo $i;$output = ob_get_contents();ob_end_clean();echo $ouput;A.12345678910 B.1234567890 C.0123456789 D.Notice提示信息二填空题1. 逻辑异或运算符操作符在两个操作数中有一个(不是全部)为True时返回True。2. 执行程序段<?php echo 8%(-2)?>将输出0三 程序阅读题1. 写出下面程序的输出结果。<?Php$a=0;$b=0;If($a=3)>0|($b=3)>0)$a+;$b+;echo $a;echo $b;输出结果是 4 12.写出以下程序的输出结果<?php$str="cd"$str="hotdog"$str.="ok"echo $cd;输出结果是hotdogok3.写出下面程序的输出结果<?php$b=201;$c=40;$a=$b>$c?4:5;echo $a;输出结果是4作业三 2012.3.30P67一 选择题1.关于exit与die语句结构的说法正确的是(C)A.exit语句结构执行会停止执行下面的脚本,而die无法做到。B.die语句结构执行会停止执行下面的脚本,而die无法做到。C.die语句结构等价于exit语句结构。D.die语句结构与exit语句结构没有直接关系。2. 语句“for($k=0;$k=1;$k+);”和语句“for($k=0;$k=1;$k+);”执行的次数分别是(A)。A. 无限和0 B. 0和无限 C.都是无限 D.都是0P993. 以下关于key()和current()函数的叙述,请找出两个正确的答案。(D)A. key()函数用来读取当前指针所指向元素的键值B. key()函数是取得当前指针所指向元素的值C. current()函数用来读取当前指针所指向元素的键值D. current()函数是取得当前指针所指向元素的值4. 下面的PHP代码输出什么?(B)<?php$S ='12345' ;$S$s1 = '2'echo $s;A.12345 B.12245 C.22345 D.11345 E.array5. 下列说法正确的是(B)A. 数组的键必须为数字,且从“0”开始B. 数组的键可以是字符串C. 数组中的元素类型必须一致D. 数组的键必须是连续的6. 以下PHP代码的运行结果是什么?(A)<?phpdefine(myvalue,"10");$myarray10 = "Dog"$myarray = "Human"$myarray'myvalue' = "Cat"$myarray"Dog" = "Cat"print "The value is:"print $myarraymyvalue;A. The Value is:Dog B.The Value is:Cat C.The Value is:Human D.The Value is :10 E.Dog7. 以下PHP程序的运行结果是什么?(B)<?Php$array = array('3' => 'a', 1.1 =>'b','c','d');echo $array1;A. 1 B. b C. c D.一个警告 E. a 作业四 2012.4.21P123一、 选择题2、 index.php脚本如何访问表单元素email的值?(多选)(BD)<from action="index.php" method="post"><input type="text" name="email"/> <input type="submit" value="提交" ><form/>A. $_GET'email' B.$_POST'email' C.$_SESSION'text' D.$_REQUEST'email' E.$_POST'text'3、 当把一个有两个同名元素的表单提交给PHP脚本时会发生什么?(C)A. 它们组成一个数组,存储在全局变量数组中B. 第二个元素的值加上第一个元素的值后,存储在全局变量数组中C. 第二个元素将覆盖第一个元素D. PHP输出一个警告二、 问答题1、 FORM表单中使用GET与POST提交方式有何区别? 答:get 是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息。区别如下:a、 Get 方法通过 URL 请求来传递用户的数据,将表单内各字段名称与其内容,以成对的字符串连接,置于 action 属性所指程序的url后.b、 Get 方 式需要使用 $_GET 来取得变量的值;而 Post 方式通过 $_POST 来访问提交的内容.c、 Get 方式传输的数据量非常小,一般限制在 2 KB 左右.d、 Get 方式提交数据,会带来安全问题.2. 使用PHP实现WEB上传文件的原理是什么,如何限制上传文件的大小?P118提交包含上传文件的表单数据后,WEB服务器和PHP预处理器先判断表单数据大小是否超过post_max_size选项的配置。php.ini:upload_max_filesize 所上传的文件的最大大小。默认值2M。作业五 2012.4.30P140一、 选择题1、 下面的PHP程序运行的结果是什么?(A)<?phpfunction print_A()$A ="I LOVE PHP."echo "A的值为:".$A;return $A;$B = print_A();Echo "B值为:".$B;A. A值为:I love PHP.B. A值为:B值为: I love PHP.C. A值为:B值为: D. A值为:I love PHP. B值为: 2.调用函数时,什么情况下不能给函数的参数赋常量?(C)A、 当参数是布尔值时 B、当函数是类中的成员时 C、当参数是通过引用传递时 D、当函数只有一个参数时 E、永远不会3.一段脚本如何才算彻底终止?(A)A、 当调用exit()时 B、当执行到文件尾时 C、当PHP崩溃时 D、当Apache由于系统故障而终止时二、 程序阅读题1.写出下面程序的输出结果。<?php $GLOBALS'var1'=5;$var2 =1;function get_value() global $var2; $var1=0; $var2+;return $var2;get_value();echo $GLOBALS'var1' ;echo $var1;echo $var2;输出结果是5522.写出下面程序的输出结果。<?phpfunction get_arr($arr)unset($arr0);$arr1=array(1,2);$arr2=array(1,2);get_arr(&$arr1);get_arr($arr2);echo count($arr1);echo count($arr2);输出结果是12作业六 2012.5.12P172一、 选择题1、 下面哪个不是合法的SOL的聚合和函数?(E)A. AVG B.SUM C.MIN D.MAX E.CURRENT_DATE2、 内连接(inner join)的作用是什么?(B)A. 把两个表通过相同字段关联入一张持久的表中B. 把两个表通过一个特定的字段关联起来,并创建该字段相同的所有记录的数据集.C. 创建基于一个表中的数据集D. 创建一个包含两个表中相同记录和一个表中全部记录的数据集E. 以上都不对3.下面的SQL查询语句中,排序的方法是什么?(C)SELECT *FORM MY_TABLEWHERE ID>0ORDER BY ID,NAME DESC;A. 返回的数据集倒序排列B. ID相同的记录按NAME升序排列C. ID相同的记录按NAME降序排列D. 返回的记录先按NAME排序,再按ID排序E. 结果中包含对NAME字段的描述4.如果一个字段能被一个包含GROUP BY的条件的查询语句读出,以下哪个选项的描述正确?(BC)A. 该字段必须有索引B. 该字段必须包含在GROUP BY 条件中C. 该字段必须包含一个聚合值D. 该字段必须是主键E. 该字段必须不包含NULL空值二、 填空题1.可以用添加where条件的方式对查询返回的数据集进行过滤。2.insert语句能用来向己存在的表中添加新的记录。3.MySQL中自增类型(通常为表ID字段)必须将其设为auto_increment字段。4.SQL中LEFT JOIN 的含义是 左连接表A和表B意味着取表A的全部记录按指定的连接条件与表B中满足连接条件的记录进行连接,若表B中没有满足连接条件的记录,则表A中相应字段填入NULL。三、 问答题1. 请列举你所熟知的数据库管理系统。答:数据库管理系统有Access ,SQL Server,Oracle, Sybase ,MySQL ,DB2以及Informix等。2. 主键约束和唯一性约束有何区别。答:满足唯一性约束的字段可以为NULL。3. 写出每个小题的SQL语句。表名UserNameTelContentDate张三13333663366大专2006-6-11张三13612312331大专2005-6-11李四021-55665566本科2006-6-11(a) 有一条新纪录(小王13254748547高中2007-05-06)请用SQL语句将其增至表中。(b) 请用SQL语句把张三的时间更新成为当前系统时间*。(c) 请写出删除名为李四的全部记录。说明:这里使用了MySQL的now()函数和DATE_FORMAT()函数。INSERT INTO User('Name','Tel','Content','Date') VALUES('小王','13254748547','高中','2007-05-06')UPDATE User SET Date=DATE_FORMAT(NOW(),'%Y-%m-%d') WHERE Name='张三'DELETE FROM User WHERE Name='李四'作业七 2012.5.19P196一、 选择题1.下面的代码中数据库关闭指令将关闭哪个连接标识?(C)$link1 = mysql_connect("localhost","roor","");$link2 = mysql_connect("localhost","roor","");mysql_close();A. $link1 B.$link2 C. 全部关闭 D.报错2.分析表头,使用哪个函数且必须传入$result查询结果变量?(A)A. mysql_fetch_filed() B.mysql_fetch_row() C.mysql_fetch_colum() D.mysql_fetch_variable()3.取得selecf语句的结果集中的记录总数的函数是:(C)A. mysql_fecth_row B.mysql_rowid C.mysql_num_rows D.mysql_fetch_arrayP2651、 下面关于Session和Cookie的区别,说法错误的是(C)A. Session和Cookie都可以记录数据状态B. 在设置Session和Cookie之前不能有输出C. 在使用Cookie前要使用Cookie_start()函数初始D. Cookie是客户端技术,Session是服务器端技术2、 在用浏览器查看网页时出现404错误可能的原因是(B)A. 页面原代码错误 B.文件不存在 C.与数据库连接错误 D.权限不足二、 填空题 P299 1. n12br 函数能把换行符转换成HTML标签<br/>2. str_pad函数能用来确保一个字符串的字符总是大于一个指定值。3.PHP能把UFT_8转换成GBK的函数是mb_convert_encoding($str,'GBK','UTF-8')4.PHP中分割字符串成数组的函数是explode,连接数组成字符串的是implode5.PHP过滤HTML的函数是strip_tages三、 问答题1.mysql_fetch_row()和mysql_fetch_array之间有什么区别?P180-181答:mysql_fetch_row()函数的语法格式:array mysql_fetch_row(resource result)Mysql_fetch_array()函数的语法格式:array mysql_fetch_array(resource result)2、 如何实现字符串的翻转?答:方法一:echo strrev($a);方法二:<?phpfunctionreverse($var) $res="" for($i=0,$j=strlen($var);$i<$j;$i+) $res=$var$i.$res; return$res;$tmpvar="wofang"$res=reverse($tmpvar);echo $res;?>