PHP求职者必备面试题

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

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

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

资源描述

1,用PHP打印出前一天的时间,格式是2006-5-1022:21:21echodate(Y:m:dH:i:s,strtotime(-1day));?2,echo(),print(),print_r()的区别echo是语言结构,无返回值;print功能和echo基本相同,不同的是print是函数,有返回值;print_r是递归打印,用于输出数组对象3,能够使HTML和PHP分离开使用的模板smarty,PHPLib,FastTemplate,Savant,MiniTemplator,TagTemplate4,如何实现PHP、JSP交互$foo=newJava(’java.lang.System’);5,使用哪些工具进行版本控制CVS或SVNCVSServeronApache作服务端,WinCVS作客户端SubversiononApache/DAV做服务端,TortoiseSVN做客户端6,如何实现字符串翻转$str=strrev(WilsonPeng);echo$str;?7,优化MYSQL数据库的方法(1)选取最适用的字段属性,尽可能减少定义字段长度,尽量把字段设置NOTNULL,例如’省份,性别’,最好设置为ENUM(2)使用连接(JOIN)来代替子查询:(3)使用联合(UNION)来代替手动创建的临时表(4)事务处理:保证数据完整性,例如添加和修改同时,两者成立则都执行,一者失败都失败mysql_query(”BEGIN”);mysql_query(”INSERTINTOcustomerinfo(name)VALUES(’$name1′)”;mysql_query(”SELECT*FROM`orderinfo`wherecustomerid=”.$id”);mysql_query(”COMMIT”);(5)锁定表优化事务处理:我们用一个SELECT语句取出初始数据,通过一些计算,用UPDATE语句将新值更新到表中。包含有WRITE关键字的LOCKTABLE语句可以保证在UNLOCKTABLES命令被执行之前,不会有进行插入、更新或者删除的操作mysql_query(”LOCKTABLEcustomerinfoREAD,orderinfoWRITE”);mysql_query(”SELECTcustomeridFROM`customerinfo`whereid=”.$id);mysql_query(”UPDATE`orderinfo`SETordertitle=’$title’wherecustomerid=”.$id);mysql_query(”UNLOCKTABLES”);(6)使用外键,优化锁定表(7)建立索引:(8)优化查询语句最好在相同字段进行比较操作,在建立好的索引字段上尽量减少函数操作SELECT*FROMorderWHEREYEAR(orderDate)2008;(慢)SELECT*FROMorderWHEREorderDate2008-01-01;(快)SELECT*FROMorderWHEREaddtime/724;(慢)SELECT*FROMorderWHEREaddtime24*7;(快)SELECT*FROMorderWHEREtitlelike%good%;SELECT*FROMorderWHEREtitle=”good”andnamegood;8,实现中文字串截取无乱码的方法$str=我是一串比较长的中;echomb_substr:.mb_substr($str,0,6,utf-8);echomb_strcut:.mb_strcut($str,0,6,utf-8);?mb_substr:我是:我是mb_substr是按字来切分字符,而mb_strcut是按字节来切分字符,但是都不会产生半个字符的现象9,用PHP写出显示客户端IP与服务器IP的代码echo$_SERVER[‘REMOTE_ADDR’];getenv(REMOTE_ADDR);//客户端IP$ip=gethostbyname();//服务器IPecho$ip;?10,在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量中;而链接到当前页面的URL记录在预定义变量中echo$_SERVER[PHP_SELF];echo$_SERVER[HTTP_REFERER];11,$null=NULL;$bool=FALSE;$notSet;$array=array();//以下是问题$a=hello;$b=&$a;unset($b);//答案为:helloecho$a;$b=world;//答案为:helloecho$a;//以下是问题$a=1;$x=&$a;$b=$a++;//答案为:1echo$b;//以下是问题$x=empty($array);//答案为:1echo$x;//答案为:trueecho$x?true:false;?12,表单中get与post提交方法的区别get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息13,session与cookie的区别session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。两者都可通过时间来设置时间长短14,数据库中的事务是什么事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消15,MYSQL取得当前时间的函数是now()格式化日期的函数是date()16,语句include和require的区别是什么require-require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行requireinclude-include有返回值,而require没有(可能因为如此require的速度比include快)17,如何修改SESSION的生存时间将php.ini中的session.gc_maxlifetime设置为9999重启apache或:$savePath=“./session_save_dir/”;$lifeTime=小时*秒;session_save_path($savePath);session_set_cookie_params($lifeTime);session_start();18,有一个网页地址,比如如何得到它的内容$readcontents=fopen(””,“rb”);$contents=stream_get_contents($readcontents);fclose($readcontents);echo$contents;或echofile_get_contents(””);19,在HTTP1.0中,状态码401的含义是未被授权如果返回“找不到文件”的提示,则可用header函数,其语句为header(”http/1.0404notfound”);20,在PHP中,heredoc是一种特殊的字符串,它的结束标志必须heredoc的语法是用”加上自己定义成对的标签,在标签范围內的文字视为一个字符串例子:$str=mynameisJiangQihui!murray;21,请说明php中传值与传引用的区别。什么时候传值什么时候传引用?按值传递:函数范围内对值的任何改变在函数外部都会被忽略按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。按引用传递则不需要复制值,对于性能提高很有好处。22,在PHP中error_reporting这个函数有什么作用设置错误级别与错误信息回报23,请写一个函数验证电子邮件的格式是否正确$pregEmail=/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i;returnpreg_match($pregEmail,$email);24,如何得到当前执行脚本路径,包括所得到参数$script_name=basename(__file__);print_r($script_name);25,JS表单弹出对话框函数是alert(),prompt(),confirm();获得输入焦点函数是focus();26,如何声明一个名为”myclass”的没有方法和属性的类classmyclass{}如何实例化一个名为”myclass”的对象newmyclass()如何访问和设置一个类的属性$object=newmyclass();$newstr=$object-test;$object-test=“info”;27,可以打开一个文件,以对文件进行读和写操作:fopen()28,$num=10;functionmultiply(){$num=$num*10;}multiply();echo$num;//输出:1029,写一个函数,尽可能高效的,从一个标准url里取出文件的扩展名functiongetExt($url){$arr=parse_url($url);$file=basename($arr[path]);$ext=explode(”.”,$file);return$ext[1];}30,PHP5权限控制修饰符public(公共),private(私用),protected(继承)做为程序员,到IT企业面试的时候肯定会有笔试这关,那就要考考你的PHP知识了,所以本站收集一些实用的php面试题及答案给大家。基础题:1.表单中get与post提交方法的区别?答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息.2.session与cookie的区别?答:session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。两者都可通过时间来设置时间长短3.数据库中的事务是什么?答:事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。简述题:1、用PHP打印出前一天的时间格式是2006-5-1022:21:21(2分)答:echodate('Y-m-dH:i:s',strtotime('-1days'));2、ech

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

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

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

×
保存成功