
2021年PHP面试题与答案.docx
7页2021年PHP面试题与答案 2021年PHP面试题与答案 为了帮助同学们面试(PHP)工程师,以下百分我整理的2021年PHP面试题与答案,希望对大家有所帮助,更多信息请关注! 大公司的PHP面试题 1. 禁用COOKIE 后 SEESION 还能用吗? 2. 抓取远程图片到本地,你会用什么函数? 4. 你觉得在pV10W的时候, 同等配置下,LUNIX 比WIN快多少? 5. 简述pOST 和GET传输的最大容量分别是多少? 6. 用最少的代码写一个求3值最大值的函数. 以下是部分答案(不保证是正确的解) 1. 不能 2 fsockopen 4 (不做优化的情况下一样) 5 2MB,1024B 6 function($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。
function str_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 ) ); function changeArrayStyle($arr){ foreach($arr as $key=$value){ $result[$value[\fid\]][]=$value; } return array_values($result); } $arr2=changeArrayStyle($arr1); echo " ; var_dump($arr2); ? 5. 请简述数据库设计的范式及应用。
一般第3范式就足以,用于表结构的优化,这样做既可以避免应用程序过于复杂同时也避免了SQL语句过于庞大所造成系统效率低下 ANSWER: 第一范式:若关系模式R的每一个属性是不可再分解的,再属于第一范式 第二范式:若R属于第一范式,且所有的非码属性都完全函数依赖于码属性,则为第二范式 第三范式:若R属于第二范式,且所有的非码属性没有一个是传递函数依赖于候选码,则属于第三范式 6.一个表中的Id有多个记录,把所有这个id的记录查出来,并显示共有多少条记录数,用SQL语句及视图、存储过程分别实现 存储过程: DELIMITER // create procedure proc_countNum(in columnId int,out rowsNo int) begin select count(*) into rowsNo from member where member_id=columnId; end call proc_countNum(1,@no); select @no; 视图: create view v_countNum as select member_id,count(*) as countNum from member group by member_id select countNum from v_countNum where member_id=1 7 表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
select case when first_namemiddle_name then case when first_namelast_name then first_name else last_name end else case when middle_namelast_name then middle_name else last_name end end as name from member 8请简述项目中优化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语句又要怎样显示呢? {section name=loop loop=$data} {$data[loop].id} {$data[loop].name} {/section} {foreach from=$data item=id key=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.2021年12个被提问频率最高的php面试题及应答技巧 2.高级php程序员面试题 3.2021年基础php面试题 4.2021年PHP面试题与答案 5.十个值得深思的PHP面试问题 6.关于变量和日期处理的php面试题 7.PHP程序员最常见的11大面试题 8.PHP面试之php自带的几个防止sql注入的函数 9.2021年最新PHP工程面试题 10.php程序员面试题 7。












