PHP程序员面试题目_第1页
PHP程序员面试题目_第2页
PHP程序员面试题目_第3页
PHP程序员面试题目_第4页
PHP程序员面试题目_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、流行的php面试题及答案1. 在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量(1)中;而链接到当前页面的URL记录在预定义变量(2)中。答:echo $_SERVERPHP_SELF; echo $_SERVERHTTP_REFERER;2. 执行程序段将输出(3)。答:03. 在HTTP1.0中,状态码401的含义是(4);如果返回“找不到文件”的提 示,则可用header函数,其语句为(5)。答:未授权(5) header(HTTP/1.0 404 Not Found);4. 数组函数arsort 的作用是(6);语句error_reporting(2047)的作用是

2、(7)。答:对数组进行逆向排序并保持索引关系All errors and warnings5. 写出一个正则表达 式,过虑网页上的所有JS/VBS脚本(即把标记及其内容都去掉):(9)。答:/.*?.*?/si6. 以Apache模块的方 www.ks-式安装PHP在文件http.conf 中首 先要用语句(10)动态装载PHP模块,然后再用语句(11)使得Apache把所有扩展名为php的文件都作为PHP脚本处 理。答:(10) LoadModulephp5_moduleD:/xampp/apache/b in/php5apache2.dll(11) AddType applicati on

3、 /x-httpd-php-source .phpsAddTypeapplicati on /x-httpd-php .php .php5 .php4 .php3 .phtml7. 语句include 和require 都能把另外一个文件包含到当前文件中, 它们的区 别是(12);为 了避免多次包含同一文件,可以用语句(13) 来代替 www.ks- 它们。答:(12)发生异常时include产生警告require产生致命错误(13)require, on ce()/i nclude_ on ce()8. 类的属性可以序列化后保存到session中,从而以后可以恢复整个类,这要 用到的函数是(

4、14 )。答: serialize() /unserialize()9. 一个函数的参数不能是对变量的引用,除非在php.ini中把(15)设为 on.答:allow_call_time_pass_referenee10.SQL 中 LEFT JOIN 的含 义是(16)。如果tbl_user 记录了学生的姓名(name)和学号(ID),tbl_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号 (ID) 和考试成绩(score)以及考试科目(subject),要想打印出各个学生姓名及对应的 的各科总成绩,则可 以用SQL语句(17)。答:(16)自然左外连接(17) sele

5、ct name , count(score) assum_score from tbl_user left joi n tbl_score ontbl_userD=tbl_score .IDgroup by tbl_userD11.在PHP中,heredoc是一种特殊的字符串,它的结束标志必须(18)。答:结束标识符所在的行不能包含任何其它字符除;12. 用 PHF打印出 前一天的时间格式是 2006-5-10 22:21:21答:echo date(Y-m-d H:i:s, strtotime(-1 day);13. echo(),pri nt(),pri nt_r()的区别答:echo是语

6、言结构,无返回值;print功能和echo基本相同,不同的是print 是函数,有返回值;print_r 是递归打印,用于输出数组对象14. 如何实现字符串翻转?答:.用strrev函数呗,不准用PHP内置的就自己写:strrev($str)$le n=strle n( $str);$n ewstr = ”;for($i=$le n; $i=0;$i-)$n ewstr .= $str$i;return $n ewstr;15. 实现中文字串截取无乱码的方法。答:mb_substr()16. 使用php写一段简单查询,查出所有姓名为“张三”的内容并打印出来 表名UserNameTelConte

7、ntDate张专毕业2006-10-11张科毕业2006-10-15张专毕业2006-10-15答:SELECT Name,Tel,Content,Date FROM User WHERE Name张三17. 如何使用下面的类,并解释下面什么意思?class testGet_test($ num)$n um=md5(md5($ num).E n);return $n um;答:用法:$get_test = new test();$result = $get_test-Get_test(2);将$num变量进行两次m

8、d5后返回,第2次的md5中的参数,在第一次md5($num) 后多加了 En18. 使用五种以上方式获取一个文件的扩展名要求:dir/upload.image.jpg ,找出.jpg 或者 jpg ,答:使用五种以上方式获取一个文件的扩展名1)get_ext1($file_name) return strrchr($file_ name, .);2)get_ext2($file_ name) return substr($file_ name, strrpos($file_ name, .); 一 一3)get_ext3($file_ name) 一 一return array_pop(ex

9、plode(., $file_ name); 一 一4)get_ext4($file_ name) 一 一$p = pathi nfo($file_ name);retur n $pexte nsion;5)get_ext5($file_ name)return strrev(substr(strrev($file_ name), 0,strpos(strrev($file_ name), .);19. 如何修改SESSION勺生存时间这个函式库让你处理和显示各式格式的图档,它的另一个常见用途是制作所图 档。GD以外的另一个选择是ImageMagick,但这个函式库并不内建于 PHP之中, 必

10、须由系统管理员安装在伺服器上答:其实 Session 还提供了一个函数 session_set_cookie_params(); 来设置 Session的生存期的,该函数必须在 session_start()函数调用之前调用:v ?php/保存一天$lifeTime = 24 * 3600;sessi on _set_cookie_params($lifeTime);sessi on _start();$_SESSIONadmi n = true;?20. 请写一个函数,实现以下功能:字符串“ open_door”转换成“OpenDoo”、” make_by_id” 转换成 ” MakeByl

11、cT。30.请举例说明在你的开发过程中用什么方法来加快页面的加载速度A.生成静态HTML生成xmlC可不用数据库的尽量不用数据库把变量参数存于文本.D.用ZEND加速答:21. 如何用php的环境变量得到一个网页地址的内容?ip地址又要怎样得到?答:$_SERVSR REQUEST_U$_SERVER REMOTE_ADDR22. 求两个日期的差数,例如 2007-2-5 2007-3-6 的日期差数答:(strtotime( 2007-3- 6)-strtotime( 2007-2- 5 )/3600*2423. 表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B 列

12、,当B列大于C列时选择B列否则选择C列。答: select case when AB then A else B end,case whe n BC the n B else C end From test24. 请简述项目中优化sql语句执行效率的方法,从哪些方面,sql语句性能如何 分析?1)选择最有效率的表名顺序(2) WHER子句中的连接顺序(3) SELECTF句中避免使用*(4) 用 Where子句替换HAVING?句(5) 通过内部函数提高SQL效率(6) 避免在索引列上使用计算。(7) 提高GROUPY语句的效率,可以通过将不需要的记录在 GROUBY之前过 滤掉。25. my

13、sql_fetch_row()和 mysql_fetch_array()有什么分别?mysql_fetch_row()把数据库的一列储存在一个以零为基数的阵列中,第一栏在阵列的索引0 ,第二栏在索引1 ,如此类推。mysql_fetch_assoc()把数据库的一列储存在一个关联阵列中,阵列的索引就是栏位名称,例如我的数据库查询送 回“first_name ”、“last_name”、“email ”三个栏位,阵列的索引便是“first_name ”、 “last_name ”和“ email ”。mysql_fetch_array()可以同时送回 mysql_fetch_row() 和 my

14、sql_fetch_assoc() 的值。26. 下面的代码用来做什么?请解释。$date=08/26/2003;pri nt ereg_replace(0-9+)/(0-9+)/(0-9+),2/1/3,$date);这是把一个日期从 MM/DD/YYYY勺格式转为DD/MM/YYYY格式。我的一个好朋友 告诉我可以把这个正规表达式拆解为以下的语句, 对于如此简单的表示是来说其 实无须拆解,纯粹为了解说的方便:/ 对应一个或更多0-9,后面紧随一个斜号$regExpression = (0-9+)/;/ 应一个或更多0-9 ,后面紧随另一个斜号$regExpression .= (0-9+)

15、/;/ 再 次对应一个或更多 0-9$regExpression .二(0-9+);至于 2/1/3 则是 用来对应括号,第一个括号对的是月份,27. GD函式库用来做什么?答:这个函式库让你处理和显示各式格式的图档,它的另一个常见用途是制作所 图档。GD以外的另一个选择是ImageMagick,但这个函式库并不内建于 PHP之 中,必须由系统管理员安装在伺服器上28. 请举例说明在你的开发过程中用什么方法来加快页面的加载速度答:要用到服务器资源时才打开,及时关闭服务器资源,数据库添加索引, 页面可生成静态,图片等大文件单独服务器。使用代码优化工具啦29. 防止SQL注射漏洞一般用addslashes 函数。30. PHP中传值和传引用、传地址的区别是什么?答:传值是把实参的值赋值给行参那么对行参的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论