关于php的面试题(PHP程序员上机面试题(并附答案,回答好的加分))

2024-01-01 05:00:02 :78

关于php的面试题(PHP程序员上机面试题(并附答案,回答好的加分))

“关于php的面试题”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看关于php的面试题(PHP程序员上机面试题(并附答案,回答好的加分))!

本文目录

PHP程序员上机面试题(并附答案,回答好的加分)

某大公司的PHP面试题管理提醒: 本帖被 haowubai 执行取消置顶操作(2009-07-30) 1. 如何用php的环境变量得到一个网页地址的内容?ip地址又要怎样得到?echo $_SERVER ;echo $_SERVER ;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 changeStyle(& $str) {/*$str = str_replace ( "_", " ", $str );$str = ucwords ( $str );$str = str_replace ( " ", "", $str );return $str;*/$arrStr=explode(’_’,$str);foreach($arrStr as $key=》$value){ $arrStr=strtoupper(substr($value,0,1)).substr($value,1);}return implode(’’,$arrStr);}$s = "open_door";echo changeStyle ( $s );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’ ) ));《?php$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;}return array_values($result);}$arr2=changeArrayStyle($arr1);echo "《pre》";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; endcall proc_countNum(1,@no);select @no;视图:create view v_countNum as select member_id,count(*) as countNum from member group by member_idselect countNum from v_countNum where member_id=17 表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。selectcasewhen first_name》middle_name thencase when first_name》last_name then first_nameelse last_name endelsecase when middle_name》last_name then middle_name else last_nameendend as namefrom member8请简述项目中优化sql语句执行效率的方法,从哪些方面,sql语句性能如何分析?ANSWER: sql优化有鸟用,不如直接加索引。9 如果模板是用smarty模板。怎样用section语句来显示一个名为$data的数组。比如:$data = array(=’name1′)=’name2′)=’name3′)……)写出在模板页的代码? 若用foreach语句又要怎样显示呢?占无答案.10 写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。(目录操作) 《?php$d = dir(dirname(__file__));//echo "Handle: " . $d-》handle . "\n";//echo "Path: " . $d-》path . "\n";while ( false !== ($entry = $d-》read ()) ) {echo $entry . "《br /》";}$d-》close ();11 两张表 city表和province表。分别为城市与省份的关系表。city:id City Provinceid1 广州 12 深圳 13 惠州 14 长沙 25 武汉 3………. 广州province:id Province1 广东2 湖南3 湖北……….(1) 写一条sql语句关系两个表,实现:显示城市的基本信息。?(2) 显示字段:城市id ,城市名, 所属省份 。如:Id(城市id) Cityname(城市名) Privence(所属省份)。。。。。。。。。。。。。。。。。。(2)如果要统计每个省份有多少个城市,请用group by 查询出来。?显示字段:省份id ,省份名,包含多少个城市。ANSWER:1.select A.id,A.Cityname,B.Province from city A,province B where A.provinceid=B.id2.select B.id,B.Province,count(*) as num from city A,province B where A.provinceid=B.id group by B.id12. 按照你的经验请简述软件工程进行软件开发的步骤。以下工具Rational Rose、PowerDesigner、Project、VSS或CVS、TestDirector使用过那种,有缺点是什么?公司用dbdesigner及cvs,测试管理工具用的是Mantis13. 请简述操作系统的线程与进程的区别。列举LINUX下面你使用过的软件?14. 请使用伪语言结合数据结构冒泡排序法对以下一组数据进行排序 10 2 36 14 10 25 23 85 99 45。function bubble_sort(& $arr){$number=count($arr);for($i=0;$i《$number-1;$i++){ for($j=0;$j《$number-1-$i;$j++){ if($arr){ $tmp=$arr; $arr; $arr=$tmp; } }} }$str="10 2 36 14 10 25 23 85 99 45";$arr=explode(" ",$str);bubble_sort($arr);echo "《pre》";var_dump($arr);

程序员面试必备PHP基础面试题 – 第十三天

一、在HTTP1.0中,状态吗500的含义的是什么?如果返回“找不到文件”的提示,则可用header(函数),其语句为?

500 Internal Server Error 服务器遇到了意料不到的情况,不能完成客户的请求 Header(“ HTTP/1.0 404 NOT FOUND”);

二、数组函数arsort()的作用是什么?语句err_reporting(2047)的作用是什么?

arsort:对数组进行逆向排序并保持索引关系; error_reporting(2047)的作用是:report All errors and warnings

三、语句include和require都能把另外一个文件包含到当前文件中,它们的区别是___;为避免多此包含同一个文件,可以用语句_____来代替它们。

在如何处理失败时,include() 产生一个警告而 require() 则导致一个致命错误; require_once()/include_once()

四、get_magic_quotes_gpc的作用是_______

本函数取得 PHP 环境配置的变量 magic_quotes_gpc (GPC, Get/Post/Cookie) 值。返回 0 表示关闭本功能;返回 1 表示本功能打开。当 magic_quotes_gpc 打开时,所有的 ‘ (单引号), ” (双引号), (反斜线) and 空字符会自动转为含有反斜线的溢出字符。

五、在php中, heredoc是一种特殊的字符串, 他的结束标志必须是_____

结束标识符所在的行不能包含任何其它字符除”;”

六、写出一个正则表达式, 把$string中的所有数字全部删除

preg_replace(‘/d/U’,’’,$string);

七、找出/data1/source 目录中大于100k 的文件, 并复制到 ~/tmp/35/下

find /data1/source +size 》100k | cp ~/temp/35/

八、perl –pi –e ‘s|ABCD|Linux|g’ `find ./ -type f`的含义是

find ./-type f:找寻当前目录下的类型为f的文件

九、10 2 * * * /data0/apache/schedule/ussd/topnews/import_data.pl 》 /dev/null 的含义:_______将import_data.pl清空或删除

十、rsync -avu 105903.zip 218.206.86.68::mmsres/resource/291/205的含义:_________备份数据用

-a 归档模式,递归传输文件; -v 详细模式输出; -u, –update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)

十一、写出x,y的值

十二、使用纯CSS实现未知寸的图片(但高度都小于200px) 在200px的正方形容器中水平和垂直居中,HTML代码如下

谁能告诉我一些PHP开发常见的面试题呢

1、表单提交get和post有何区别?答:get的方式是把数据在地址栏中发送,get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。2、用PHP打印出前一天的时间格式是2006-5-1022:21:21复制代码代码示例:echo date("Y-m-dH:i:s",time()-(3600*24));或echodate("Y-m-d H:i:s",strtotime("-1 day"));3、php中include和require的区别?这两种结构除了在如何处理失败之外完全一样。include()产生一个警告而 require() 则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用 require()。include() 就不是这样,脚本会继续运行。4、echo(),print(),print_r()的区别echo可以接多个参数,print只能接一个参数,它们都是PHP的语言结构,print_r是递规打印,用来打印数组或对象5、能够使HTML和PHP分离开使用的模板smarty,phplib,SmartTemplate6、如何理解MVC模式?首先说一下框架,框架:就是别人把一些底层,常用操作.比如数据操作(增,删,改,查)写好.你来直接用.其它的功能要自己来做。MVC:设计模式,M模型,V显示,C控制.现在许多框架都是基于MVC来做的把逻辑和显示分开.比如你要换页面,只需要改V里面的东西并不需要再去变动程序!(详细的东西可以上网上查一下) 7、如何实现PHP、JSP交互?PHP提供了支持JAVA的类库文件,或者通过HTTP协议来交互数据8、使用哪些工具进行版本控制?VSS,CVS,SVN***隐藏网址***

程序员面试必备PHP基础面试题 – 第十一天

一、两张表 city表和province表。分别为城市与省份的关系表。

表名:city id City Provinceid 1 广州 1 2 深圳 1 3 惠州 1 4 长沙 2 5 武汉 3 ………. 广州 表名称:province: id Province 1 广东 2 湖南 3 湖北 ……….

1、写一条sql语句关系两个表,实现:显示城市的基本信息。显示字段:城市id ,城市名, 所属省份 。 如: Id(城市id) Cityname(城市名) Privence(所属省份)

2、如果要统计每个省份有多少个城市,请用group by 查询出来。显示字段:省份id ,省份名,包含多少个城市。

二、主键 和外键表示什么?一般用于做什么?

主键:能够唯一表示数据表中的每个记录的字段或者字段的组合就称为主键。一个主键是唯一识别一个表的每一行记录,但这只是其作用的一疗分,主键的主要作用是将记录和存放在其他表中的数据进行关联,在这一点上,主键是不同表中各记录间的简单指针,主键约整就是确定表中的每一条记录,主键不能是空值,唯一约束是用于指定一个或多个列的组合值具有唯一性,以防止在列中输入重复的值,所以,主键的值对用户而言是没有什么意义,并且和它赋予的值也没有什么特别联系。

外键:若有两个表A,B,C是A的主键,而B中也有C字段,则C就是表B的外键,外键约束主要用来维护两个表之间数据的一致性。A为基本表,B为信息表。 在数据库中,常常不只是一个表,这些表之间也不是相互独立的,不同的表之间需要建立一种关系,才能将它们的数据相互沟通,而在这个沟通过程中,就需要表中有一个字段作为标志,不同的记录对应的字段取值不能相同,也不能是空白的,通过这个字段中不同的值可以区别各条记录,就像我们区别不同的人,每个人都有名字,但它却不能作为主键,因为人名很容易出现重复,而身份证号是每个人都不同的,所以可以根据它来区别不同的人,数据库的表中作为主键的段段就要像人的身份证号一样,必须是每个记录的值都不同,这才能根据 主键的值来确定不同的记录。

关系:外键一定是另外某个表的主键。

三、select now(),Date_ADD(now(),INTERVAL 14 day),Date_SUB(now(),INTERVAL 3 Day) from table; 会获得什么内容,请写出来。

会获得三条数据: 第一条:当前时间; 第二条:当前时间加上14天; 第三条:当前时间减去3天。

四、您所知道的MYSQL 数据库备份,还原方式有哪几种? 备份: 一,搭建主从架构,master-slave,通过binlog文件同步复制主库的数据,也可以直接通过binlog文件恢复数据。 二,通过系统计划任务执行mysqldump做周期性全备份。 三,物理备份,直接拷贝数据文件、参数文件、日志文件。 还原: 一.通过mysql操作工具,如phpmyadmin,sqlyog等导入备份过的数据库文件。 二.将物理备份的文件拷贝到mysql的data目录下

五、内容管理系统中,表message有如下字段 id 文章id title 文章标题 content 文章内容 category_id 文章分类id hits 点击量 创建上表,写出MySQL语句

六、同样上述内容管理系统:表comment记录用户回复内容,字段如下 comment_id 回复id id 文章id,关联message表中的id comment_content 回复内容 现通过查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的排在最前面 文章id 文章标题 点击量 回复数量 用一个SQL语句完成上述查询,如果文章没有回复则回复数量显示0

七、内容管理系统,表category保存分类信息,字段如下 category_id int(4) not null auto_increment; category_name varchar(40) not null; 用户输入文章时,通过选择下拉菜单选定文章分类 写出如何实现这个下拉菜单

八、PHP文件操作

1、内容管理系统:用户提交内容后,系统生成静态HTML页面;写出实现的基本思路

2、简单描述用户修改发布内容的实现流程和基本思路

1)当用户提交后生成一个由url地址MD5后的文件的编译页面,用文件处理file函数生成一个模板合成页,判断模板编译页是否有,模板页无或者编译页的创建时间戳小于模板页的修改时间都会从新生成编译页面,编译后的页面会调用对应数据库的值显示在页面中,通过对内存数据的读取释放,显示出我们看到的静态数据,然后用file文件将其保存起来生成静态的页面

2)当用户修改了发布内容都会修改数据相关的内容,并通过编译页面更新静态数据并用文件的方式缓存起来,当用户查看时将不做任何数据库查找,直接调用该缓存文件即可

关于关于php的面试题,PHP程序员上机面试题(并附答案,回答好的加分)的介绍到此结束,希望对大家有所帮助。

关于php的面试题(PHP程序员上机面试题(并附答案,回答好的加分))

本文编辑:admin
Copyright © 2022 All Rights Reserved 威海上格软件有限公司 版权所有

鲁ICP备20007704号

Thanks for visiting my site.