php面试题及答案2

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

php面试题及答案,经典php笔试题与答案问题1.考虑如下脚本。标记处应该添加什么代码才能让脚本输出字符串php?$alpha='abcdefghijklmnopqrstuvwxyz';$letters=array(15,7,15);foreach($lettersas$val){/*这里应该加入什么*/}?A.echochr($val);B.echoasc($val);C.echosubstr($alpha,$val,2);D.echo$alpha{$val};E.echo$alpha{$val+1}2.以下哪一项不能把字符串$s1和$s2组成一个字符串?A.$s1+$s2B.”{$s1}{$s2}”C.$s1.$s2D.implode(”,array($s1,$s2))E.以上都可以3.变量$email的值是字符串user@example.com,以下哪项能把字符串转化成example.com?A.substr($email,strpos($email,“@”));B.strstr($email,“@”);C.strchr($email,“@”);D.substr($email,strpos($email,“@”)+1);E.strrpos($email,“@”);4.给定一个用逗号分隔一组值的字符串,以下哪个函数能在仅调用一次的情况下就把每个独立的值放入一个新创建的数组?A.strstr()B.不可能只调用一次就完成C.extract()D.explode()E.strtok()5.要比较两个字符串,以下那种方法最万能?A.用strpos函数B.用==操作符C.用strcasecmp()D.用strcmp()6.以下哪个PCRE正则表达式能匹配字符串php|architect?A..*B.…|………C.\d{3}\|\d{8}D.[az]{3}\|[az]{9}E.[a-z][a-z][a-z]\|\w{9}7.以下哪些函数能用来验证字符串的完整性?(三选)A.md5()B.sha1()C.str_rot13()D.crypt()E.crc32()8.哪个PHP函数与以下脚本在UNIX系统下执行的效果近似?functionmy_funct($filename){$f=file_get_contents($filename);returnexplode(\n,$f);}?A.fopen()B.fread()C.flock()D.split_string()E.file()9.基于指定的式样(pattern)把一个字符串分隔开并放入数组,以下哪些函数能做到?(双选)A.preg_split()B.ereg()C.str_split()D.explode()E.chop()10.以下脚本输出什么?echo'Testing'.1+2.'45';?A.Testing1245B.Testing345C.Testing1+245D.245E.什么都没有11.以下脚本输出什么?$s='12345';$s[$s[1]]='2';echo$s;?A.12345B.12245C.22345D.11345E.Array12.方框中的正则表达式能与以下哪些选项匹配?(双选)/.*\*123\d/A.******123B.*****_1234C.******1234D._*1234E._*12313.以下哪个比较将返回true?(双选)A.’1top’==’1′B.’top’==0C.’top’===0D.’a’==aE.123==’123′14.如果用+操作符把一个字符串和一个整型数字相加,结果将怎样?A.解释器输出一个类型错误B.字符串将被转换成数字,再与整型数字相加C.字符串将被丢弃,只保留整型数字D.字符串和整型数字将连接成一个新字符串E.整形数字将被丢弃,而保留字符串15.考虑如下脚本。假设能被访问,脚本将输出什么?$s=file_get_contents();strip_tags($s,array('p'));echocount($s);?A..剔除标签后的.1D.0E.剔除以外的标签后的.哪个函数能不区分大小写得对两个字符串进行二进制比对?A.strcmp()B.stricmp()C.strcasecmp()D.stristr()E.以上都不能17.以下哪些函数能把字符串里存储的二进制数据转化成十六进制?(双选)A.encode_hex()B.pack()C.hex2bin()D.bin2hex()E.printf()18.哪个函数能用来确保一个字符串的字符数总是大于一个指定值?答案:____________19.以下脚本输出什么?$a='ableostsindy';echowordwrap($a,1,c,false);?答案:____________20.以下脚本输出什么?$x='apple';echosubstr_replace($x,'x',1,2);?A.xB.axleC.axxleD.applexE.xapple答案1.substr函数能够胜任,但考虑到输出三个字母就需要三次调用该函数,所以排除此方法。那么$alpha{$val}和$alpha{$val+1}是仅有的两个可能输出题目要求的字符串的选项。因为0是数组的第一个索引,所以答案是D。2.除了A以外的选项都能输出题目要求的字符串。PHP中,加号(+)不能把两个字符串合并成一个。3.substr函数返回字符串的一部分,而strpos函数擅长从一个字符串中找出某个指定的子串。同时使用这两个函数将满足题目要求。注意,前一个函数从0开始索引,而后者不是,因此需要+1。答案是D。4.答案是D。explode函数使用一个字符串分隔另一个字符串,并把结果放入一个新建的数组。strtok函数也可以做同样的事,但需要多次调用。5.答案是D。strcmp()提供了安全的字符串比较机制。注意,选项C是错的,strcasecmp()不是一个“万能”函数,因为它不区分大小写。6.选项中没有一个正则表达式能真正代表题目所给字符串的匹配方式,但是选项A和E仍然能勉强匹配。选项A太普通了,它能够匹配任何字符串,因此答案是E。7.正确答案是A,B和E。用crypt()和str_rot13()来验证一个字符串是否被改变,效率很低。crc32()比前面两个函数好些,如果能容忍一些小错误的话,它是个不错的选择。8.file函数将文件的文本内容读入一个数组,每个元素是一行。因此答案E正确。也许你想知道为什么要把这样一个题目放在讲字符串的章节中,那是为了提醒你每一章的题目所包含的知识点并不是绝对严格区分开的,正如写PHP脚本时,file函数不能脱离字符串函数单独存在一样。9.尽管条件不同,但preg_split和explode函数都能满足题目要求。ereg()拿一个正则表达式匹配一个字符串;str_split()按固定长度分隔字符串;而chop()则是rtrim()别名,用来移除字符串末尾处的空格。10.本题考察你对字符串操作及操作符优先级的认识。连接运算符(.)的优先级比加号(+)高。因此PHP解释器实际执行的运算可以表示为(‘Testing‘.1)+(2.’45′)。由于字符串test1不是数字,所以加号前面的运算等于0。加号后面的运算等于245,PHP输出的结果是0+245,等于245,所以答案是D。11.可以用访问数组元素的方式访问字符串中的字符,因此脚本只是把字符串中的第二个字符($s[1])替换成了字符2,最终将输出12245。答案是B。12.本题的要点是理解这个正则表达式的含义——从左往右,首先是零个或多个任意字符(.*),跟着是一个星号(\*),然后是123,最后是一个数字。因此答案是C和D。13.B和E正确。选项B中,在比较时,字符串top等同于数字0。==操作符不比对数据类型,所以将返回true。答案E中,字符串123等同于数字123,比较将返回true。14.字符串将被转换成数字(如果无法发生转换就是0),然后与整型数字相加。答案是B。15.代码的本意是剔除标签。可实际上,在代码的最后一行使用了count函数,它统计变量中的元素数量,而不是字符串中的字符数。由于字符串是标量,对字符串使用count函数将永远返回1。答案是C。16.题目其实就是在描述strcasecmp函数的作用,因此答案是C。17.正确答案是B和D。pack函数能对二进制数据进行复杂的格式化,包括将字符串中的字符转化成十六进制表示。bin2hex函数也有同样的转化功能。注意,printf()能将整数转化成十六进制数,但无法转化字符串。18.这是在说str_pad函数,它可以把字符串填充到指定长度。19.脚本将输出ablecostscindy。wordwrap函数通常用来把字符串切割成指定长度。然而在本题中,长度被设置为1,因此函数将从空格处切割(第四个参数被设置为false,因此函数不会从单词的中间进行切割)。填充字符串是c,等于把每个空格都换成了c。20.substr_replace函数是用一个指定字符串替换原字符串中的某个部分,因此脚本输出axle,答案是B。文件操作你可能觉得PHP的文件操作功能并不怎样,但实际上它对开发者来说非常有用。即使你是做网站开发的,学会相关技能也能让你如虎添翼。多亏了流包装器(streamwrappers,将在第十章详细介绍),PHP才能够打开并读取远程文件,让在本地使用第三方网站的内容变得可能。站在更底层的角度,文件输入/输出能完成多种任务。可以用他读取预制文件的内容,比如第三方提供的内容;或者通过PHP脚本让浏览器打开一个二进制文件,使得你能更切实的控制它。无论如何,本章不仅考验你打开、关闭和读取文件的能力,还考查多进程下进行文件操作的基础知识——例如文件锁。php面试题及答案,经典php笔试题与答案1.函数______能读取文本文件中的一行。读取二进制文件或者其他文件时,应当使用______函数。A.fgets(),fseek()B.fread(),fgets()C.fputs(),fgets()D.fgets(),fread()E.fread(),fseek()2.文件指针能在PHP脚本结束时自动关闭,但你也可以用______函数来关闭。答案:____________3.考虑如下PHP脚本,它一行一行的读取并显示某文本文件的内容。在问号处填入什么才能使脚本正常运作?$file=fopen(test,r);while(!feof($file)){echo????????????;}fclose($file);?A.file_get_contents($file)B.file($file)C.read_file($file)D.fgets($file)E.fread($file)4.以下哪种方法能保证锁在任何竞争情况下都安全?A.用flock()锁住指定文件B.用fopen()在系统的临时文件夹里打开文件C.用tempnam()创建一个临时文件D.用mkdir()创建一个文件夹来当E.用tmpfile()创建一个临时文件5.以下哪个函数能够获得文件的全部内容,并能够用在表达式中?(双选)A.file_get_contents()B.fgets()C.fopen()D.file()E.readfile()6.在不把文件内容预加载到变量中的前提下,如何解析一个以特殊格式格式化过的多行文件?A.用file()函数把它分割放入数组B.用sscanf()C.用fscanf()D.用fgets()E.用fnmatch()7.考虑如下脚本,最后文件myfile.txt的内容是什么?$array='0123456789ABCDEFGHI

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功