双新学院PHP软件工程师考试试卷课程名称:《开发基于LAMP平台的PHP应用》(A)卷班级____姓名_____分数____考试(考查)闭卷题号1-1001-201-151-3总分分数一.单选题(每题0.5×100分,共计50分)1.以下哪种标签不是PHP起始/结束符?A.%%B.??C.?=?D.!----E.?php?2.以下代码哪个不符合PHP语法?A.$_10B.${“MyVar”}C.&$somethingD.$10_somethingsE.$aVaR3.PHP表达式$foo=1+bob3,则$foo的值是()。A.1B.1bob3C.1bD.924.PHP的位运算符不包括()。A.&B.|C.~D.!5.关于PHP变量的说法正确的是()。A.PHP是一种强类型语言B.PHP变量声明时需要指定其变量的类型C.PHP变量声明时在变量名前面使用的字符是”&”D.PHP变量使用时,上下文会自动确定其变量的类型6.假设$a=5,有$a+=2,则$a的值为()。A.5B.6C.7D.87.在PHP中属于比较运算符的是()。A.=B.!C.==D.&8.要配置Apache的PHP环境,只需修改()。A.php.iniB.http.confC.php.sysD.php.exe9.下列命令中不是PHP的输出命令的是()。A.echoB.printf()C.printD.write10.PHP中定义常量的方法是()。A.VARB.dimC.define()D.undefined()11.有下列PHP语句段,?phpif($a)printtrue;elseprintfalse;?若要输出false,$a应该是()。A.10B.–3C.TRUED.012.已知$g=14,则PHP表达式$h=$g+=10,运算后的结果是()。A.$h=$g=24B.$h=10,$g=24C.$h=10.$g=14D.$h=24,$g=1013.运行以下代码将显示什么??phpdefine(myvalue,10);$myarray[10]=Dog;$myarray[]=Human;$myarray['myvalue']=Cat;$myarray[Dog]=Cat;printThevalueis:;print$myarray[myvalue].\n;?A.TheValueis:DogB.TheValueis:CatC.TheValueis:HumanD.TheValueis:10E.Dog14.print()和echo()有什么区别?A.print()能作为表达式的一部分,echo()不能B.echo()能作为表达式的一部分,print()不能C.echo()能在CLI(命令行)版本的PHP中使用,print()不能D.print()能在CLI(命令行)版本的PHP中使用,echo()不能E.没有区别:两个函数都打印文本!15.如何给变量$a,$b和$c赋值才能使以下脚本显示字符串“Hello,World!”??php$string=Hello,World!;$a=?;$b=?;$c=?;if($a){if($b&&!$c){echoGoodbyeCruelWorld!;}elseif(!$b&&!$c){echoNothinghere;}}else{if(!$b){if(!$a&&(!$b&&$c)){echoHello,World!;}else{echoGoodbyeWorld!;}}else{echoNotquite.;}}?A.False,True,FalseB.True,True,FalseC.False,True,TrueD.False,False,TrueE.True,True,True16.以下脚本输出什么??php$array='0123456789ABCDEFG';$s='';for($i=1;$i50;$i++){$s.=$array[rand(0,strlen($array)-1)];}echo$s;?A.50个随机字符组成的字符串B.49个相同字符组成的字符串,因为没有初始化随机数生成器C.49个随机字符组成的字符串D.什么都没有,因为$array不是数组E.49个字母‘G’组成的字符串17.哪种语句结构用来表现以下条件判断最合适??phpif($a=='a'){somefunction();}elseif($a=='b'){anotherfunction();}elseif($a=='c'){dosomething();}else{donothing();}?A.没有default的switch语句B.一个递归函数C.while语句D.无法用别的形式表现该逻辑E.有default的switch语句18.考虑如下代码片段:?phpdefine(STOP_AT,1024);$result=array();/*在此处填入代码*/{$result[]=$idx;}print_r($result);?标记处填入什么代码才能产生如下数组输出?Array{[0]=1[1]=2[2]=4[3]=8[4]=16[5]=32[6]=64[7]=128[8]=256[9]=512}A.foreach($resultas$key=$val)B.while($idx*=2)C.for($idx=1;$idxSTOP_AT;$idx*=2)D.for($idx*=2;STOP_AT=$idx;$idx=0)E.while($idxSTOP_AT)do$idx*=219.__________为用户定义函数is_leap()选择一个合适的函数声明。is_leap使用2000作为默认年份。?php/*函数声明处*/{$is_leap=(!($year%4)&&(($year%100)||!($year%400)));return$is_leap;}var_dump(is_leap(1987));/*Displaysfalse*/var_dump(is_leap());/*Displaystrue*/?A.functionis_leap($year=2000)B.is_leap($yeardefault2000)C.functionis_leap($yeardefault2000)D.functionis_leap($year)E.functionis_leap(2000=$year)20.运行以下代码将显示什么值?假设代码运行时的URL是:testscript.php?c=25?phpfunctionprocess($c,$d=25){global$e;$retval=$c+$d-$_GET['c']-$e;return$retval;}$e=10;echoprocess(5);?A.25B.-5C.10D.5E.021.运行时(run-time)包含一个PHP脚本使用______,而编译时(compile-time)包含一个PHP脚本使用______。A.include_once,includeB.require,includeC.require_once,includeD.include,requireE.以上皆可22.全等运算符===如何比较两个值?A.把它们转换成相同的数据类型再比较转换后的值B.只在两者的数据类型和值都相同时才返回TrueC.如果两个值是字符串,则进行词汇比较D.基于strcmp函数进行比较E.把两个值都转换成字符串再比较23.一段脚本如何才算彻底终止?A.当调用exit()时B.当执行到文件结尾时C.当PHP崩溃时D.当Apache由于系统故障而终止时24.PHP中调用某一个对象的方法或属性使用的运算符是()。A.=B.-C..D.~25.在php5中如何让类中的某些方法无法在类的外部被访问?A.把类声明为privateB.把方法声明为privateC.无法实现D.编写合适的重载方法(overloadingmethod)26.借助继承,我们可以创建其他类的派生类。那么在PHP中,子类最多可以继承几个父类?A.1个B.2个C.取决于系统资源D.3个E.想要几个有几个27.一个类如何覆盖默认的序列化机制?A.使用__shutdown和__startup方法B.调用register_shutdown_function()函数C.使用__sleep()和__wakeup()方法D.无法覆盖默认序列化机制E.使用ob_start()将类放入输出缓冲中28.如何在类的内部调用mymethod方法?A.$self=mymethod();B.$this-mymethod();C.$current-mymethod();D.$this::mymethod()E.以上都不对29.以下脚本输出什么??phpclassmy_class{var$my_var;function_my_class($value){$this-my_var=$value;}}$a=newmy_class(10);echo$a-my_var;?A.10B.NullC.EmptyD.什么都没有E.一个错误30.以下脚本输出什么??phpclassmy_class{var$value;}$a=newmy_class;$a-my_value=5;$b=$a;$b-my_value=10;echo$a-my_value;?A.10B.5C.2D.NullE.什么都没有31.以下脚本输出什么??php$global_obj=null;classmy_class{var$value;functionmy_class(){global$global_obj;$global_obj=&$this;}}$a=newmy_class;$a-my_value=5;$global_obj-my_value=10;echo$a-my_value;?A.5B.10C.什么都没有D.构造函数将报错E.51032.考虑如下一段代码,执行时,$eight_tenths-to_string方法返回的字符串是8/10而不是希望的4/5,为什么??phpclassfraction{var$numerator;var$denominator;functionfraction($n,$d){$this-set_numerator($n);$this-set_denominator($d);}functionset_numerator($num){$this-numerator=(int)$num;}functionset_denominator($num){$this-denominator=(int)$num;}functionto_string(){return{$this-numerator}/{$this-denominator};}}functiongcd($a,$b){return($b0)?gcd($b,$a%$b):$a;}functionreduce_fraction($fraction){$gcd=gcd($fraction-numerator,$fraction-denominator);$fraction-numerator/=$gcd;$fraction-denominator/=$gcd;}$eight_tenths=newfraction(8,10);/*Reducethefraction*/reduce_fraction($eight_tenths);var_dump($eight_tenths-to_string());?A.reduce_fraction函数必须返回一个值B.reduce_fraction函数必须接受一个整型值C.gcd函数有问题D.必须通过引用的方式传递$eight_tenths对象E.对象的实例不能传递给方法以