欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    php面试题及答案,经典php笔试题与答案.doc

    • 资源ID:78989282       资源大小:31.50KB        全文页数:18页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    php面试题及答案,经典php笔试题与答案.doc

    问题1 选择合适的答案填入空白处PHP 是一种_脚本语言,基于_引擎。PHP 最常被用来开发动态的_内容,此外,它同样还可被用来生成_(以及其他)文档。A动态,PHP,数据库,HTMLB嵌入式,Zend,HTML,XMLC基于 Perl 的,PHP,Web,静态D嵌入式,Zend,Docbook 文档,MySQLE基于 Zend 的,PHP,图像,HTML1 唯一有意义的答案是 B。PHP 是一种基于 Zend 引擎的脚本语言,它通常被嵌入在 HTML代码中。它主要被用来开发 HTML 文档,但是也可以用它来开发其他类型的文档,比如 XML。2以下哪种标签不是 PHP 起始/结束符?A<% %>B/C<?php ?>D/* */E2 PHP 编程中,人们不太使用<% %>和两个标签,但它们确实是合法的 PHP 界定符。标签是非法的,因此正确的答案是 D。记住,根据 php.ini 文件中的配置不同,这当中的某些标签无法在特定的情况下使用。3以下代码哪个不符合 PHP 语法?A$_10B$“MyVar”C&$somethingD$10_somethingsE$aVaR3 PHP 变量以一个美元符号为开头,后面跟上任意数量的数字、字母和下划线。$“MyVar”是一个合法的变量名,它使用的是较松散的命名约定。&$something 是对$something 的引用。然而,变量名不能以数字为开头,$10_somethings 是非法的,因此答案是 D。4运行以下代码将显示什么?define(myvalue, "10");$myarray10 = "Dog"$myarray = "Human"$myarray'myvalue' = "Cat"$myarray"Dog" = "Cat"print "The value is: "print $myarraymyvalue."n"?>2AThe Value is: DogBThe Value is: CatCThe Value is: HumanDThe Value is: 10EDog4 注意,$myarray 的键值并没有打上引号。所以,正在访问的键不是 myvalue 字符串,而是常量 myvalue 的值。最终访问的是$myarray10,值是 Dog,答案是 A。5 print()和 echo()有什么区别?Aprint()能作为表达式的一部分,echo()不能Becho()能作为表达式的一部分,print()不能Cecho()能在 CLI(命令行)版本的 PHP 中使用,print()不能Dprint()能在 CLI(命令行)版本的 PHP 中使用,echo()不能E没有区别:两个函数都打印文本!5 尽管 print()和 echo()在绝大多数情况下可以互换使用,但它们之间还是有一处不同。print()是函数,有返回值;echo()实际上是一个语言结构,没有返回值,并且不能在表达式中使用。因此,答案是 A。6以下脚本输出什么?$a = 10;$b = 20;$c = 4;$d = 8;$e = 1.0;$f = $c + $d * 2;$g = $f % 20;$h = $b - $a + $c + 2;$i = $h << $c;$j = $i * $e;print $j;?>A128B42C242.0D256E3426 %运算符表示取模,它返回两个操作数相除的余数。<<是左移运算符,相当于乘以 2的 N 次方。最后的答案乘以了一个浮点数,改变了它的数据类型。但是,由于小数点后是零,因此输出的结果不包含小数部分。答案是 256(D)。7如何给变量$a,$b 和$c 赋值才能使以下脚本显示字符串“Hello, World!”?$string = "Hello, World!"$a = ?;3$b = ?;$c = ?;if($a) if($b && !$c) echo "Goodbye Cruel World!" else if(!$b && !$c) echo "Nothing here"else if(!$b) if(!$a && (!$b && $c) echo "Hello, World!" else echo "Goodbye World!" else echo "Not quite."?>AFalse, True, FalseBTrue, True, FalseCFalse, True, TrueDFalse, False, TrueETrue, True, True7 根据条件式的逻辑,要想得到 Hello, World!字符串,必须要在第一个 if 结构中满足 else的条件。因此$a 必须为 False,然后$b 也必须为 False。最内层的条件语句的实现要求先前的两个变量($a 和$b)是 False,而$c 必须是 True(答案是 D)。8以下脚本输出什么?$array = 'ABCDEFG'$s = ''for ($i = 1; $i < 50; $i+) $s .= $arrayrand(0,strlen ($array) - 1);echo $s;?>A50 个随机字符组成的字符串B49 个相同字符组成的字符串,因为没有初始化随机数生成器C49 个随机字符组成的字符串D什么都没有,因为$array 不是数组4E49 个字母G组成的字符串8 正确答案是 C。从 PHP4.2.0 开始,除非已经给定了一个伪随机整数列,否则不再需要用 srand()函数初始化随机数生成器。此外,即使随机数生成器没有被事先播种,脚本仍然会生成 49 个伪随机字符。尽管$array 变量是字符串,但可以用访问数组的方式进行访问使用数字索引访问某个位置上的字符。最后,for 循环将从 1 开始执行到 50,也就是执行了 49 次9哪种语句结构用来表现以下条件判断最合适?if($a = 'a') somefunction(); else if ($a = 'b') anotherfunction(); else if ($a = 'c') dosomething(); else donothing();?>A没有 default 的 switch 语句B一个递归函数Cwhile 语句D无法用别的形式表现该逻辑E有 default 的 switch 语句9 用一系列的 ifelse 语句来检查一个条件的代码块,最适合用 switch 语句来替代。switch($a) case 'a':somefunction();break;case 'b':10anotherfunction();break;case 'c':dosomething();break;default:donothing();?>因为 if 语句中有一个捕捉所有其他条件的 else,对应的,switch 代码块需要一个 default。正确答案是 E。10要修改每个元素的值,如何遍历$myarray 数组最合适?$myarray = array ("My String","Another String","Hi, Mom!");?>A用 for 循环B用 foreach 循环C用 while 循环D用 dowhile 循环E办不到!10通常情况下,foreach 语句是遍历数组的首选。但是,由于 foreach 语句是在数组的副本上进行操作,而我们需要给数组中每个元素重新赋值,所以在这里 foreach 就不适用了。尽管也可以用 while 循环和 dowhile 循环,但由于数组是顺序索引的,最合适的语句还是 for 语句。因此答案是 A。$myarray = array ("My String", "Another String", "Hi, Mom!");for($i = 0; $i < count($myarray); $i+)$myarray$i .= " ($i)"?>11考虑如下代码片段:define("STOP_AT", 1024);$result = array();/* 在此处填入代码 */5$result = $idx;print_r($result);?>标记处填入什么代码才能产生如下数组输出?Array0 => 11 => 22 => 43 => 84 => 165 => 326 => 647 => 1288 => 2569 => 512Aforeach($result as $key => $val)Bwhile($idx *= 2)Cfor($idx = 1; $idx < STOP_AT; $idx *= 2)Dfor($idx *= 2; STOP_AT >= $idx; $idx = 0)Ewhile($idx < STOP_AT) do $idx *= 211由于题目只允许填写一行代码,唯一合适的是 for 循环,因此答案只能是 C 或者 D。要选出能生成正确结果的 for 循环,我们必须先复习一下 for 循环的构成要素。PHP 中,for 循环是这样声明的:for(<初始化><继续执行,直到><重复执行>)<初始化>在循环开始时执行一次,然后 for 循环开始执行大括号内的代码,直到<继续执行,直到>的值为 False。每完成一次循环,执行一次<重复执行>。因此,正确的代码块应该是:for ($idx = 1; $idx < STOP_AT; $idx *= 2)答案是 C。12为用户定义函数 is_leap()选择一个合适的函数声明。is_leap 使用 2000 作为默认年份。/* 函数声明处 */$is_leap = (!($year %4) && ($year % 100) |!($year % 400);return $is_leap;var_dump(is_leap(1987); /* Displays false */var_dump(is_leap(); /* Displays true */?>Afunction is_leap($year = 2000)Bis_leap($year default 2000)Cfunction is_leap($year default 2000)6Dfunction is_leap($year)Efunction is_leap(2000 = $year)125 个选项中,只有两个是合法的 PHP 函数声明(A 和 D)。在这两个选项中,只有一个设置了参数的默认值答案是 A。13运行以下代码将显示什么值?假设代码运行时的 URL 是:testscript.php?c=25function process($c, $d = 25)global $e;$retval = $c + $d - $_GET'c' - $e;return $retval;$e = 10;echo process(5);?>A25B-5C10D5E013本题考察 PHP 中变量作用域的相关知识。你必须明确 global 关键字是如何将变量引入本地域的,以及$_GET、$_POST、$_COOKIE、$_REQUEST 等超级全局变量的作用域。本题中,最终的数学表达式是 5+25-25-10,等于-5,答案是 B。14考虑如下代码:function myfunction($a, $b = true)if($a && !$b) echo "Hello, World!n"$s = array(0 => “my”,1 => “call”,2 => $function,3 => ,4 => “function”,5 => $a,6 => $b,7 => a,8 => b,9 => ”);$a = true;7$b = false;/* Group A */$name = $s?.$s?.$s?.$s?.$s?.$s?;/* Group B */$name($s?, $s?);?>脚本中的每个问号(?)代表$s 数组的一个数字索引。要想代码执行时显示 Hello, World!字符串,该如何选择数字索引?AGroup A: 4,3,0,4,9,9 Group B: 7,8BGroup A: 1,3,0,4,9,9 Group B: 7,6CGroup A: 1,3,2,3,0,4 Group B: 5,8DGroup A: 0,4,9,9,9,9 Group B: 7,8EGroup A: 4,3,0,4,9,9 Group B: 7,814函数能被以一个包含着函数名的变量后面加上括号(以及必要的参数)的形式动态调用。对于Group A来说,合适的索引组合是0,4,9,9,9,9,产生字符串myfunction。另一方面,参数将使用$结构的可变变量。对Group B来说,合适的索引应该是7和8,等于$a$和b即$a和$b。因此答案是D。15运行时(run-time)包含一个 PHP 脚本使用_,而编译时(compile-time)包含一个 PHP 脚本使用_。Ainclude_once, includeBrequire, includeCrequire_once, includeDinclude, requireE以上皆可15在较新版本的 PHP 中,require(或 requier_once())和 include()(或 include_once()只有一个区别如果包含的文件不存在,前者将产生一个致命错误,同时终止脚本的执行;而后者只会产生一个警告。因此答案 E 正确。16什么情况下声明函数时不能给参数赋默认值?A当参数是布尔值时B当函数是类中的成员时C当参数是通过引用传递时D当函数只有一个参数时E永远不会16当参数被声明为通过引用传递时,你不能给它赋默认值,此时解释器期望获得一个能在函数内部进行修改的变量。答案是 C。17_操作符在两个操作数中有一个(不是全部)为 True 时返回 True。答案:_17正确答案是逻辑异或(xor)运算符。18全等运算符=如何比较两个值?A把它们转换成相同的数据类型再比较转换后的值B只在两者的数据类型和值都相同时才返回 True8C如果两个值是字符串,则进行词汇比较D基于 strcmp 函数进行比较E把两个值都转换成字符串再比较18全等运算符比较两个操作数的数据类型和值,两者中有一个不同,都会返回 False。因此答案是 B。19以下哪个选项是把整型变量$a 的值乘以 4?(双选)A$a *= pow (2, 2);B$a >>= 2;C$a <<= 2;D$a += $a + $a;E一个都不对19答案是 A 和 C。A 选项中,pow 函数计算 2 的平方,答案是 4。C 选项中,左移运算符将$a 的值左移两位,相当于乘以 4。20一段脚本如何才算彻底终止?A当调用 exit()时B当执行到文件结尾时C当 PHP 崩溃时D当 Apache 由于系统故障而终止时20答案是 A。一段脚本并不会在执行到文件末尾时终止,所以当前文件才能被其他脚本包含。至于 PHP 和 Apache 崩溃,这两个说法就太恶搞了。

    注意事项

    本文(php面试题及答案,经典php笔试题与答案.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开