php面试提及部分答案

上传人:工**** 文档编号:507611056 上传时间:2023-09-05 格式:DOCX 页数:20 大小:31.02KB
返回 下载 相关 举报
php面试提及部分答案_第1页
第1页 / 共20页
php面试提及部分答案_第2页
第2页 / 共20页
php面试提及部分答案_第3页
第3页 / 共20页
php面试提及部分答案_第4页
第4页 / 共20页
php面试提及部分答案_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《php面试提及部分答案》由会员分享,可在线阅读,更多相关《php面试提及部分答案(20页珍藏版)》请在金锄头文库上搜索。

1、面试题11、用PHP打印出前一天的时间格式是2006-5-10 22:21:21echo date(Y-m-d H:i:s,time()-(3600*24);或echo date(Y-m-d H:i:s,strtotime(-1 day);2、echo(),print(),print_r()的区别echo可以接多个参数,print只能接一个参数,它们都是PHP的语言结构,print_r是递规打印,用来打印数组或对象3、能够使HTML和PHP分离开使用的模板smarty,phplib,SmartTemplate4、如何实现PHP、JSP交互?PHP提供了支持JAVA的类库文件,或者通过HTTP协

2、议来交互数据5、使用哪些工具进行版本控制?VSS,CVS,SVN6、如何实现字符串翻转?不考虑中英文混合,不是最优算法,不用php库函数翻转字符串:function str_to_reverse( $str ) for($length=0;$str$length!=null;$length+); $strlength = $length-1; unset($length); for($start=0,$end=$strlength;$start$end;$start+,$end-) $temp = $str$start; $str$start = $str$end; $str$end = $t

3、emp; unset($temp,$start,$end,$strlength); return $str; 7、优化MYSQL数据库的方法。1 将where中用的比较频繁的字段建立索引,联合索引。2 保证单表数据不超过200W,适时分割表。3 避免使用长连接。4 修改f里面的各项参数,比如最大连接数,查询缓存等。根据你的服务器内存来最大化调节那些配置参数。5 针对需求,使用正确的表引擎,是myisam或是innodb。 8.用PHP写出显示客户端IP与服务器IP的代码:echo $_SERVERREMOTE_ADDR /客户端ipecho $_SERVERSERVER_ADDR /服务器端i

4、p 9、apache+mysql+php实现最大负载的方法1 问的太笼统,生成静态html页面,squid反向代理,apache,mysql的负载均衡。 2 可以采取数据缓存的方法,我们通常在统计数据的时候,需要在原始数据的基础上经过计算等一系列操作,才会得到最终的结果,如果每做一个查询都需要这样一系列操作,当数据量大时,势必会带来很多问题。可以建立一个结果表,写一个脚本,用crontab定时触发脚本去原始表取数据,计算,写入到结果表,前端查询从结果表取数据,这也是比较常用的一种做法。 3 采用分布式,多个apache,多个mysql,其实就是dns负载均衡,dns根据当前用户解析几个ip的p

5、ing值,将用户转移到某一台最快的服务器,或者平均分配。 4 money不是问题的话,增加带宽和提升硬件性能也是一个选择!面试题3一、PHP/MySQL编程 1) 某内容管理系统中,表message有如下字段 id 文章id title 文章标题 content 文章内容 category_id 文章分类id hits 点击量 创建上表,写出MySQL语句 CREATE TABLE message(id int(10) NOT NULL auto_increment,title varchar(200) default NULL,content text,category_id int(10)

6、 NOT NULL,hits int(20),PRIMARY KEY(id);)ENGINE=InnoDB DEFAULT CHARSET=utf8;2)同样上述内容管理系统:表comment记录用户回复内容,字段如下 comment_id 回复id id 文章id,关联message表中的id comment_content 回复内容 现通过查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的排在最前面 文章id 文章标题 点击量 回复数量 用一个SQL语句完成上述查询,如果文章没有回复则回复数量显示为0 SELECT message.id id,message.titl

7、e title,IF(message.hits IS NULL,0,message.hits) hits,IF(comment.id is NULL,0,count(*) number FROM message LEFT JOINcomment ON message.id=comment.id GROUP BY message.id;3) 上述内容管理系统,表category保存分类信息,字段如下 category_id int(4) not null auto_increment; categroy_name varchar(40) not null; 用户输入文章时,通过选择下拉菜单选定文

8、章分类 写出如何实现这个下拉菜单 function categoryList()$result=mysql_query(select category_id,categroy_name from category)or die(Invalid query: . mysql_error();print(n);while($rowArray=mysql_fetch_array($result)print(.$rowArraycategroy_name.n);print();二、PHP文件操作 1) 上述内容管理系统:用户提交内容后,系统生成静态HTML页面;写出实现的基本思路 ob_start()

9、; 10、实现中文字串截取无乱码的方法。这个首先要考虑字符集的问题,UTF-8下一个汉字占3字节,GBK下一个汉字占2字节.可以自己写个函数来处理,别人也写了很多,当然也可以开启mbstring扩展库,使用里面的mb_substr()等函数来截取。当截取字符出现乱码时,是因为汉字被截断了,可以再字符串尾部连上一个chr(0)function GBsubstr($string, $start, $length) if(strlen($string)$length)$str=null;$len=$start+$length;for($i=$start;$i0xa0)$str.=substr($st

10、ring,$i,2);$i+;else$str.=substr($string,$i,1);return $str.;elsereturn $string;面试题2var $empty = ;var $null = NULL;var $bool = FALSE;var $notSet;var $array = array();1.$a = hello;$b = &$a;unset($b);$b = world; what is $a?hello,unset($b)只是释放了$b自己和$a的别名关系,并不会释放$a2.$a = 1;$x = &$a;$b = $a+; what is $b?1,

11、先执行$b = $a,$a+再进行,所以$b还是13.$x = empty($array);what is $x? true or falsetrue,$array是空数组4.您是否用过版本控制软件? 如果有您用的版本控制软件的名字是?CVS:winCVS,是一个CVS的客户端VSS,微软的产品,比较适合中小型项目,只支持单人checkout5.您是否用过模板引擎? 如果有您用的模板引擎的名字是?SMARTY,php官方推荐的模板引擎,它是编译型模板,与phplib不太相同,功能强大,30多种标签,支持cache6.请简单阐述您最得意的开发之作.hdwiki,开源项目,mediawiki的使用

12、性国人很不适应,代码修改起来也比较困难.hdwiki比较适合目前的国人使用.7.对于大流量的网站,您采用什么样的方法来解决访问量问题?1 squid反向代理8、谈谈事务处理可以控制并发操作所产生的数据同步提交、更新所带来的冲突问题.可以进行comit,rollback操作,数据的安全性得到了提高。2) 简单描述用户修改以发布内容的实现流程和基本思路 三、PHP程序 1) 写出以下程序的输出结果 $c?4:5; echo $a; ? 2) 写出以下程序的输出结果 面试题4一. 简答题 1. 请说明php中传值与传引用的区别。什么时候传值什么时候传引用? 2. 在PHP中error_reporting这个函数有什么作用? 3. 请写一个函数验证电子邮件的格式是否正确 function checkEmail($email)$pregEmail = /(a-z0-9*-_.?a-z0-9+)*(a-z0-9*-_?a-z0-9+)+.a-z2,3(.a-z2)?/i;return preg_match($pregEmail,$email);4. 简述如何得到当前执行脚本路径,包括所得到参数。 说明:例如有一个脚本 ,传给他的参数有参数1,参数2,参数3. 传递参数的方法有可能是GET有可能是POST,那么现在请写出类

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号