PHP面试题与答案2017年PHP面试题与答案为了帮助同学们面试PHP工程师,以下店铺整理的2017年PHP面试题与答案,希望对大家有所帮助,更多信息请关注应届毕业生网!大公司的PHP面试题1.禁用COOKIE后SEESION还能用吗?2.抓取远程图片到本地,你会用什么函数?4.你觉得在pV10W的时候,同等配置下,LUNIX比WIN快多少?5.简述pOST和GET传输的最大容量分别是多少?6.用最少的代码写一个求3值最大值的函数.以下是部分答案(不保证是正确的解)1.不能2fsockopen4(不做优化的`情况下一样)52MB,1024B6function($a,$b,$c){return$a>$b?($a>$c?$a:$c):($b>$c?$b:$c);}———————————————————————————–大公司的pHp面试题2.求两个日期的差数,例如2007-2-5~2007-3-6的日期差数$begin=strtotime(‘2007-2-5′);$end=strtotime(‘2007-3-6′);echo($end-$begin)/(24*3600);3.请写一个函数,实现以下功能:字符串“open_door”转换成“OpenDoor”、”make_by_id”转换成”MakeById”。functionstr_change($str){$str=str_replace(“_”,”“,$str);$str=ucwords($str);$str=str_replace(”“,“”,$str);return$str;}4.要求写一段程序,实现以下数组$arr1转换成数组$arr2:$arr1=array(‘0′=>array(‘fid’=>1,‘tid’=>1,‘name’=>’Name1′),‘1′=>array(‘fid’=>1,‘tid’=>2,‘name’=>’Name2′),‘2′=>array(‘fid’=>1,‘tid’=>5,‘name’=>’Name3′),‘3′=>array(‘fid’=>1,‘tid’=>7,‘name’=>’Name4′),‘4′=>array(‘fid’=>3,‘tid’=>9,‘name’=>’Name5′));$arr2=array(‘0′=>array(‘0′=>array(‘tid’=>1,‘name’=>‘Name1′),‘1′=>array(‘tid’=>2,‘name’=>‘Name2′),‘2′=>array(‘tid’=>5,‘name’=>‘Name3′),‘3′=>array(‘tid’=>7,‘name’=>‘Name4′)),‘1′=>array(‘0′=>array(‘tid’=>9,‘name’=>‘Name5′)));$arr1=array(‘0′=>array(‘fid’=>1,‘tid’=>1,‘name’=>’Name1′),‘1′=>array(‘fid’=>1,‘tid’=>2,‘name’=>’Name2′),‘2′=>array(‘fid’=>1,‘tid’=>5,‘name’=>’Name3′),‘3′=>array(‘fid’=>1,‘tid’=>7,‘name’=>’Name4′),‘4′=>array(‘fid’=>3,‘tid’=>9,‘name’=>’Name5′));functionchangeArrayStyle($arr){foreach($arras$key=>$value){$result[$value[\fid\]][]=$value;}returnarray_values($result);}$arr2=changeArrayStyle($arr1);echo“”;var_dump($arr2);>5.请简述数据库设计的范式及应用。一般第3范式就足以,用于表结构的优化,这样做既可以避免应用程序过于复杂同时也避免了SQL语句过于庞大所造成系统效率低下。ANSWER:第一范式:若关系模式R的每一个属性是不可再分解的,再属于第一范式。第二范式:若R属于第一范式,且所有的非码属性都完全函数依赖于码属性,则为第二范式。第三范式:若R属于第二范式,且所有的非码属性没有一个是传递函数依赖于候选码,则属于第三范式。6.一个表中的Id有多个记录,把所有这个id的记录查出来,并显示共有多少条记录数,用SQL语句及视图、存储过程分别实现。存储过程:DELIMITER//createprocedureproc_countNum(incolumnIdint,outrowsNoint)beginselectcount(*)intorowsNofrommemberwheremember_id=columnId;endcallproc_countNum(1,@no);select@no;视图:createviewv_countNumasselectmember_id,count(*)ascountNumfrommembergroupbymember_idselectcountNumfromv_countNumwheremember_id=17表中有ABC三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。selectcasewhenfirst_name>middle_namethencasewhenfirst_name>last_namethenfirst_nameelselast_nameendelsecasewhenmiddle_name>last_namethenmiddle_nameelselast_nameendendasnamefrommember8请简述项目中优化sql语句执行效率的方法,从哪些方面,sql语句性能如何分析?sql优化有鸟用,不如直接加索引。9如果模板是用smarty模板。怎样用section语句来显示一个名为$data的数组。比如:$data=array([0]=>array([id]=8[name]=’name1′)[1]=>array([id]=10[name]=’name2′)[2]=>array([id]=15[name]=’name3′)……)写出在模板页的代码?若用foreach语句又要怎样显示呢?{sectionname=looploop=$data}{$data[loop].id}{$data[loop].name}{/section}{foreachfrom=$dataitem=idkey=k}{$k}–{$id}{/foreach}10写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。(目录操作)$d=dir(dirname(__file__));//echo“Handle:”.$d->handle.“\\n”;//echo“path:”.$d->path.“\\n”;while(false!==($entry=$d->read())){echo$entry.“”;}$d->close();>更多PHP面试相关试题分享:1.2.3.4.5.6.7.8.9.10.下载全文