网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文
当前位置:书香门第 > 计算机 > php语言

一套PHP的笔试题及答案

栏目: php语言 / 发布于: / 人气:2.48W
一套PHP的笔试题及答案
  准备找PHP工程师的同学是不是对即将的面试有点慌?下面是小编整理的一套PHP面试题及答案,希望对大家有用,更多消息请关注应届毕业生网。  1. 如何用php的环境变量得到一个网页地址的内容?ip地址又要怎样得到?  答案:”http://”.$_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF'] // 获取网页地址  $_SERVER['REMOTE_ADDR'] //获取IP地址  2. 求两个日期的差数,例如2007-2-5 ~ 2007-3-6 的日期差数  $from = mktime(0,0,0,2,5,2007);  $to = mktime(0,0,0,3,6,2007);  echo ($to-$from)/(3600*24);  3. 请写一个函数,实现以下功能:  字符串“open_door” 转换成 “OpenDoor”、”make_by_id” 转换成 ”MakeById”。  答案:$function strOpt($str){  $str_arr = explode(“_”,$str);  $len = count($str_arr);  $newStr = “”;  $str_arr = array_reverse($str_arr);  for($i=0;$i<$len;$i++){  $newStr = ucfirst($str_arr[$i]).$newStr;  }  return $newStr;  }  echo strOpt(“make_by_id”);  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′ )  )  );  5. 请简述数据库设计的范式及应用。  一般第3范式就足以,用于表结构的优化,这样做既可以避免应用程序过于复杂同时也避免了SQL语句过于庞大所造成系统效率低下。  6.一个表中的Id有多个记录,把所有这个id的记录查出来,并显示共有多少条记录数,用SQL语句及视图、存储过程分别实现。  DELIMITER //  CREATE PROCEDURE ProcGet  (  IN ID_a INT(11)  )  BEGIN  DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN END;  SELECT COUNT(*) AS Sum FROM News Where ID = ID_a;  END;//  CALL ProcGet(88)//  7 表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。  DELIMITER //  CREATE PROCEDURE ProcOut()  BEGIN  DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN END;  DECLARE Sum_a INT(11);  DECLARE Sum_b INT(11);  DECLARE Sum_c INT(11);  – 获取A列中的总值 <–  DECLARE cur_1 CURSOR FOR SELECT SUM(A) FROM table_name;  OPEN cur_1;  FETCH cur_ 1 INTO Sum_a;  CLOSE cur_1;  – 获取B列中的总值 <–  DECLARE cur_2 CURSOR FOR SELECT SUM(B) FROM table_name;  OPEN cur_2;  FETCH cur_ 2 INTO Sum_b;  CLOSE cur_2;  – 获取C列中的总值 <–  DECLARE cur_3 CURSOR FOR SELECT SUM(C) FROM table_name;  OPEN cur_3;  FETCH cur_ 3 INTO Sum_c;  CLOSE cur_3;  IF Sum_a > Sum_b THEN  SELECT A FROM table_name;  ELSEIF Sum_b > Sum_c THEN  SELECT B FROM table_name;  ELSE  SELECT C FROM table_name;  END IF;;  END;//  CALL ProcOut()//  8请简述项目中优化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语句又要怎样显示呢?  10 写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。(目录操作)  11 两张表 city表和province表。分别为城市与省份的关系表。  city:  id  City  Provinceid  1  广州  1  2  深圳  1  3  惠州  1  4  长沙  2  5  武汉  3  ……….  广州  province:  id  Province  1  广东  2  湖南  3  湖北  ……….  (1) 写一条sql语句关系两个表,实现:显示城市的基本信息。?  (2) 显示字段:城市id ,城市名, 所属省份 。  如:  Id(城市id)  Cityname(城市名)  Privence(所属省份)  。。。。。。。。。  。。。。。。。。。  (2)如果要统计每个省份有多少个城市,请用group by 查询出来。?  显示字段:省份id ,省份名,包含多少个城市。  12. 按照你的经验请简述软件工程进行软件开发的步骤。以下工具Rational Rose、PowerDesigner、Project、VSS或CVS、TestDirector使用过那种,有缺点是什么?  13. 请简述操作系统的线程与进程的区别。列举LINUX下面你使用过的软件?  14. 请使用伪语言结合数据结构冒泡排序法对以下一组数据进行排序 10 2 36 14 10 25 23 85 99 45。
Tags:PHP 题及 笔试