第1章PHP开篇习题一、填空题1.Apache的httpd服务程序使用的是【80】端口。2.在进行软件开发时有两种基本架构,B/S架构和【C/S】架构。3.URL的英文全称是【UniformResourceLocator】,中文名称为【统一资源定位符】。4.【HTTP】协议是计算机硬件与软件之间数据交换的格式。5.【HTTP】表示传输数据所使用的协议,【】表示要请求的服务器主机名。二、判断题1.使用PHP写好的程序,在Linux和Windows平台上都可以运行。(√)2.PHP可以支持MySQL数据库,但不支持其它的数据库。(×)3.PHP有很多流行的MVC框架,这些框架可以使PHP的开发更加快捷。(√)4.ZendStudio是PHP中常用的IDE(集成开发环境)。(√)5.进行PHP程序开发时,可以借助软件和工具来提高效率。(√)三、选择题1.下列选项中,不是URL地址中所包含的信息是(D)。A.主机名B.端口号C.网络协议D.软件版本2.PHP是一种(A)的编程语言。A.解释型B.编译型C.两者都是D.两者都不是3.PHP是个网站开发中非常流行的脚本语言,其流行的原因不包含(C)。A.易学B.易用C.易调试D.易扩展4.PHP与Linux、Apache和MySQL一起共同组成了一个强大的Web应用程序平台,下列选项中为该平台简称的是(B)。A.WAMPB.LAMPC.LNMPD.WNMP5.在下列选项中,哪些不属于PHP的突出特点(B)。A开源免费B.开发成本高C.跨平台性D.支持多种数据库四、简答题1.请简要说明PHP的突出特点是什么?1.开源免费2跨平台性3.面向对象4.支持多种数据库5.快捷性.第2章基本语法习题一、填空题1.任何一个程序文件的php代码的开始和结束都要使用【?php】和“?”进行标记。2.PHP中,多行注释以【/*】开始,以【*/】结束。3.PHP标识符允许包含字母、【数字】、【下划线】字符。4.在PHP中用于实现继承的关键字是【extends】。5.如果我们想把错误隐藏起来,可以使用错误控制运算符【@】。二、判断题1.标准标记具有更好的兼容性、可移植性、可复用性。(√)2.ASP式标记的使用与短标记类似,必须在配置文件中启用asp_tags选项。(√)3.PHP的块注释需要使用!----的形式。(×)单行注释#,//多行注释/**/4.这段PHP代码“!--?phpsomePHPcode;?--”是不会运行的。(×)5.注释用于对程序中某些代码进行说明,不会被解释。(√)三、选择题1.php代码的开始标记以下哪个不可以(D)。A.?phpB.%C.?D.eof2.一般在成熟的项目里边,纯php代码文件“结束标记”最好不要设置,为什么?(B)。A.为了加快开发速度。B.如果在结束标记后边无意中设置回车信息,则该文件在被包含的时候回车信息会作为输出内容,对header头设置或打印图片效果有影响。C.html标记里边规定,没有结束标记也可以。D.apache规定的标准。3.PHP支持多种风格的标记,以下不是PHP标记的是(C)。A.?php?B.??C.!----D.%%4.下列PHP标记中,哪些标记对任何配置都有效?(A)。A.标准标记B.短标记C.ASP标记D.SCRIPT标记5.下列选项中,哪个不是PHP的注释符(A)。A.!----B.#C./**/D.//四、简答题1.请编写符合PHP语法的程序,输出“HelloWorld!”;?phpecho'HelloWorld!';?第3章函数习题一、填空题1.能将字符串转换为数组的函数是【explode()】。2.在PHP中,【implode】函数能将数组转化为字符串。3.使用【strcmp】函数比较两个字符串的大小,结果相同返回true,不同返回false。4.strcmp()函数是根据【ASCII码值】比较两个字符串的大小。5.str_replace()函数的返回值类型是【Bool(布尔)】类型。二、判断题1.在PHP中,函数名称区分大小写。(×)2.函数的参数不可以设定默认值。(×)3.在一个PHP文件中同时定义函数f1(){}和F1(){}时,程序不会报错。(×)4.在同一个文件中,可以先调用后定义函数。(√)5.在PHP中,定义函数时可以没有返回值。(√)三、选择题1.下列选项中,函数返回的关键字是(C)。A:backB:goC:returnD:break2.PHP中存在多种变量,其中在函数内部定义的变量称之为(B)。A:变量B:局部变量C:全局变量D:内部变量3.PHP中存在多种变量,其中在函数外定义的变量称之为(D)。A:局部变量B:变量C:超全局变量D:全局变量4.若想要在函数内部使用函数外定义的变量,可以使用的方式是(A)。A:GLOBAL关键字B:预定义变量$GLOBALC:PUBLIC关键字D:GLOBALS关键字5.在实际编程中,使用可变函数可以增加程序的(D)。A:可读性B:实用性C:复用性D:灵活性四、简答题1.请简述如何在函数内部使用函数外部的变量?在函数内部使用global修饰变量第4章数组一、填空题1.数组分为索引数组和【关联】数组两种类型。2.索引数组是指下标为【整数】的数组。关联数组是指下标为字符串的数组。3.通常情况下,关联数组元素的【键】和值之间有一定的业务逻辑关系。。4.在数组中,【键】是数组元素的唯一标识。5.使用【unset()】函数可以删除数组中的元素。二、判断题1.在数组操作符中,“+”表示将两个数组中的各元素进行加法运算。(×)2.使用联合运算符合并数组时,如果遇到相同下标的元素,后面的会覆盖前面的。(×)3.在数组操作运算符中,联合运算符“+”用于合并数组。(√)4.一个数组只能有一个数组指针。(√)5.数组指针默认情况下指向数组的最后一个元素。(×)三、选择题1.下列选项中,哪些不是数组指针操作函数(C)。A:current()B:next()C:count()D:each()2.下列选项中,可以将数组的指针指向第一个元素的是(B)。A:restart()B:reset()C:prev()D:current()3.关于array_unique()函数,下列说法错误的是(C)。A:该函数将会返回新的数组对象B:该函数的作用是移除数组中的重复元素C:该函数第二个参数是递归处理多维数组D:如果两个元素的值相等只保留第一个元素的键名4.关于array_search()函数,下面说法错误的是(D)。A:第一个参数表示在数组中要查找的值B:第二个参数表示被查询的数组C:如果要查找的值没有找到,就返回FALSED:如果要查找的值找到了,就返回TRUE5.关于array_keys()函数,下面说法错误的是(B)。A:该函数用于获取数组中元素对应的键名B:当匹配结果有多个时,只返回第一个匹配的键名C:函数的第一个参数表示被查询的数组D:如果只传一个数组,则返回数组中所有的键四、简答题1.什么是数组?数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。数组的每个实体都包含两项:键和值。第5章面向对象编程习题一、填空题1.继承的关键字为【Extends】,实现接口的关键字为implements。2.PHP中有很多以两个下划线开头的方法,称之为【魔术方法】。3.在魔术方法中,__construct()是构造方法,__destruct()是【析构】方法。4.如果不想让一个类被实例化,只能被继承,那么可以将该类声明为【抽象类】类。5.声明问抽象类的关键字是【Abstract】二、判断题1.在PHP5中,析构方法的名称是__destruct(),并且不能有任何参数。(×)2.PHP中类常量使用define来定义的。(×)?3.当我们希望某些数据在内存中只有一份,并且可以被类的所有实例对象所共享,那么就将该属性声明成静态属性。(√)4.当我们希望在不创建对象的情况下调用某个类的方法时,可以将这个方法声明成静态方法。(√)5.在PHP中,使用$this可以访问静态成员。(×)三、选择题1.在下列选项中,不属于面向对象三大特征的是(C)。A:封装性B:多态性C:抽象性D:继承性2.以下关于面向对象的说法错误的是(D)。A:是一种符合人类思维习惯的编程思想B:把解决的问题按照一定规则划分为多个独立对象,通过调用对象的方法来解决问题C:面向对象的三大特征为封装、继承和多态D:在代码维护上没有面向过程方便3.以下关于面向对象三大特征错误的是(D)。A:封装就是将对象的属性和行为封装起来,不让外界知道具体实现细节B:继承性主要描述的是类与类之间的关系,通过继承可以在无需重新编写原有类的情况下对原有类的功能进行扩展C:多态是指同一操作作用于不同的对象,会产生不同的执行结果D:多态性是面向对象的核心思想4.以下关于面向对象说法错误的是(C)。A:面向对象编程具有开发时间短、效率高、可靠性强等特点B:面向对象编程其代码更易于维护、更新和升级C:抽象性是面向对象的三大特征之一D:封装是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作5.以下关于面向对象的说法错误的是(D)。A:面向对象就是把要处理的问题抽象为对象,通过对象的属性和行为来解决对象的实际问题B:抽象就是忽略事物中与当前目标无关的非本质特征,更充分的注意与当前目标有关的本质特征,从而找出事物的共性C:封装的信息隐蔽作用反映了事物的相对独立性,可以只关心它对外所提供的接口D:面向对象编程要将所有属性都封装起来不允许外部直接存取四、简答题1.构造方法和析构方法是在什么情况下调用的,作用是什么。构造方法在类实例化对象时自动调用,用于对类中的成员进行初始化。析构方法在对象销毁之前被自动调用,用于完成清理工作。第6章错误处理及调试习题一、填空题1.在运行PHP文件时,如果遗漏了一个分号,这属于【语法】错误。2.在PHP中一般有两种方法处理错误,分别为标准PHP错误报告和【异常处理】。3.E_ALL表示除【E_STRICT】以外的所有错误和警告。4.在脚本运行时,遇见可能出现错误的地方,会触发的级别常量是【E_NOTICE】。5.在程序开发中,可以使用【tigger-error】函数手动触发错误。二、判断题1.异常的处理不属于错误的处理方式。(×)2.在PHP中,错误级别表示当前错误的等级。(×)3.PHP采用常量的形式来表示错误级别。(√)4.在PHP中,每个错误级别都采用字符串形式表示。(×)5.E_ALL表示除E_STRICT以外的所有错误和警告。(√)三、选择题1.在脚本运行时,遇见可能出现错误的地方,会触发的级别常量是(D)。A:E_ERRORB:E_WARNNINGC:E_PARSED:E_NOTICE2.在程序开发中,可以使用(A)函数触发错误。A:trigger_error()B:error_reporting()C:error_trigger()D:reporting_error()3.Trigger_error函数有()个参数是必需的,有()个参数是可选的(D)。A:2,1B:2,2C:1,2D:1,14.在使用trigger_error()函数之前,一定要使用(A)函数让错误显示。A:ini_set()B:set_ini()C:reporting_error()D:error_reporting()5.在PHP中,显示错误报告的方式有(A)。A:修改配置文件。B:error_reporting()和echo()函数。C:error_reporting()和die()函数。D:ini_set()和die()函数。四、简答题1.在php.ini文件中,和错误有关的设置都有那些?(1)error_reporting,设定错误级别(2)display_errors,是否显示错误报告,设置为ON则打开,设置为OFF则关闭所有错误提示(3)log_errors,默认