ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:28.86KB ,
资源ID:5678760      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5678760.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(PHP常见面试题及答案.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

PHP常见面试题及答案.docx

1、PHP常见面试题及答案基础题:1.表单中 get与post提交方法的区别?答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息.2.session与cookie的区别?答:session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。 两者都可通过时间来设置时间长短3.数据库中的事务是什么?答:事务(transaction)是作为一个单元的一组有序的数据库操作。

2、如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。简述题:1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分)答:echo date(Y-m-d H:i:s, strtotime(-1 days); 2、echo(),print(),print_r()的区别(3分)答:echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print() 只能打印出简单类型变量的值

3、(如int,string) print_r() 可以打印出复杂类型变量的值(如数组,对象) echo 输出一个或者多个字符串3、能够使HTML和PHP分离开使用的模板(1分)答:Smarty,Dwoo,TinyButStrong,Template Lite,Savant,phemplate,XTemplate5、使用哪些工具进行版本控制?(1分)答:cvs,svn,vss;6、如何实现字符串翻转?(3分)答:echo strrev($a);7、优化MYSQL数据库的方法。(4分,多写多得)答:1、选取最适用的字段属性,尽可能减少定义字段长度,尽量把字段设置NOT NULL,例如省份,性别,最好

4、设置为ENUM2、使用连接(JOIN)来代替子查询:a.删除没有任何订单客户:DELETE FROM customerinfo WHERE customerid NOT in(SELECT customerid FROM orderinfo)b.提取所有没有订单客户:SELECT FROM customerinfo WHERE customerid NOT in(SELECT customerid FROM orderinfo)c.提高b的速度优化:SELECT FROM customerinfo LEFT JOIN orderid customerinfo.customerid=orderi

5、nfo.customeridWHERE orderinfo.customerid IS NULL3、使用联合(UNION)来代替手动创建的临时表a.创建临时表:SELECT name FROM nametest UNION SELECT username FROM nametest24、事务处理:a.保证数据完整性,例如添加和修改同时,两者成立则都执行,一者失败都失败mysql_query(BEGIN);mysql_query(INSERT INTO customerinfo (name) VALUES ($name1);mysql_query(SELECT * FROM orderinfo

6、where customerid=.$id);mysql_query(COMMIT);5、锁定表,优化事务处理:a.我们用一个 SELECT 语句取出初始数据,通过一些计算,用 UPDATE 语句将新值更新到表中。包含有 WRITE 关键字的 LOCK TABLE 语句可以保证在 UNLOCK TABLES 命令被执行之前,不会有其它的访问来对 inventory 进行插入、更新或者删除的操作mysql_query(LOCK TABLE customerinfo READ, orderinfo WRITE);mysql_query(SELECT customerid FROM customer

7、info where id=.$id);mysql_query(UPDATE orderinfo SET ordertitle=$title where customerid=.$id);mysql_query(UNLOCK TABLES);6、使用外键,优化锁定表a.把customerinfo里的customerid映射到orderinfo里的customerid,任何一条没有合法的customerid的记录不会写到orderinfo里CREATE TABLE customerinfo(customerid INT NOT NULL,PRIMARY KEY(customerid) )TYPE

8、 = INNODB;CREATE TABLE orderinfo(orderid INT NOT NULL,customerid INT NOT NULL,PRIMARY KEY(customerid,orderid),FOREIGN KEY (customerid) REFERENCES customerinfo(customerid) ON DELETE CASCADE )TYPE = INNODB;注意:ON DELETE CASCADE,该参数保证当customerinfo表中的一条记录删除的话同时也会删除order表中的该用户的所有记录,注意使用外键要定义事务安全类型为INNODB;

9、7、建立索引:a.格式:(普通索引)-创建:CREATE INDEX ON tablename (索引字段)修改:ALTER TABLE tablename ADD INDEX 索引名 (索引字段)创表指定索引:CREATE TABLE tablename(.,INDEX索引名(索引字段) (唯一索引)-创建:CREATE UNIQUE ON tablename (索引字段)修改:ALTER TABLE tablename ADD UNIQUE 索引名 (索引字段)创表指定索引:CREATE TABLE tablename(.,UNIQUE索引名(索引字段) (主键)-它是唯一索引,一般在创建

10、表是建立,格式为:CREATA TABLE tablename (.,PRIMARY KEY索引字段)8、优化查询语句a.最好在相同字段进行比较操作,在建立好的索引字段上尽量减少函数操作例子1:SELECT * FROM order WHERE YEAR(orderDate)2008;(慢)SELECT * FROM order WHERE orderDate2008-01-01;(快)例子2:SELECT * FROM order WHERE addtime/724;(慢)SELECT * FROM order WHERE addtime=good and name$length)$str=

11、null;$len=$start+$length;for($i=$start;$i0xa0)$str.=substr($string,$i,2);$i+;else$str.=substr($string,$i,1);return $str.;elsereturn $string;11、您是否用过版本控制软件? 如果有您用的版本控制软件的名字是?(1分)12、您是否用过模板引擎? 如果有您用的模板引擎的名字是?(1分)答:用过,smarty13、请简单阐述您最得意的开发之作(4分)答:信息分类14、对于大流量的网站,您采用什么样的方法来解决访问量问题?(4分)答:确认服务器硬件是否足够支持当前的

12、流量,数据库读写分离,优化数据表,程序功能规则,禁止外部的盗链,控制大文件的下载,使用不同主机分流主要流量15、用PHP写出显示客户端IP与服务器IP的代码1分)答:打印客户端IP:echo $_SERVERREMOTE_ADDR; 或者: getenv(REMOTE_ADDR);打印服务器IP:echo gethostbyname()16、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们? (2分)答:require-require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require include-inc

13、lude有返回值,而require没有(可能因为如此require的速度比include快) 注意:包含文件不存在或者语法错误的时候require是致命的,include不是17、如何修改SESSION的生存时间(1分).答:方法1:将php.ini中的session.gc_maxlifetime设置为9999重启apache方法2:$savePath = ./session_save_dir/;$lifeTime = 小时 * 秒;session_save_path($savePath);session_set_cookie_params($lifeTime);session_start()

14、;方法3:setcookie() and session_set_cookie_params($lifeTime);18、有一个网页地址, 比如PHP开发资源网主页: 答:方法1(对于PHP5及更高版本):$readcontents = fopen( rb);$contents = stream_get_contents($readcontents);fclose($readcontents);echo $contents;方法2:echo file_get_contents( 19、在HTTP 1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用 header 函数,其

15、语句为(?);(2分)答:状态401代表未被授权,header(Location:www.xxx.php);12、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?(1分)答:heredoc的语法是用加上自己定义成对的标签,在标签范围內的文字视为一个字符串例子:$str = SHOWmy name is Jiang Qihui!SHOW;13、谈谈asp,php,jsp的优缺点(1分)答:ASP全名Active Server Pages,是一个WEB服务器端的开发环境, 利用它可以产生和运行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VB Script(Java

16、 script)作为自己的开发语言。 PHP是一种跨平台的服务器端的嵌入式脚本语言. 它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面.它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点()自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。 JSP 是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行).Sun 公司借助自己在Java 上的不凡造诣,将Java 从Java 应用程

17、序 和 Java Applet 之外,又有新的硕果,就是JspJava Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。 三者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。在 ASP 、PHP、JSP 环境下, HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 、PHP、JSP 页面需要附加的语言引擎分

18、析和执行程序代码。程序代码的执行结果被重新嵌入到 HTML 代码中,然后一起发送给浏览器。 ASP 、PHP、 JSP三者都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。14、谈谈对mvc的认识(1分)答:由模型(model),视图(view),控制器(controller)完成的应用程序由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图;15、写出发贴数最多的十个人名字的SQL,利用下表:members(id,username,posts,pass,email)(2分)答:SELECT * FROM members ORDER BY posts DESC li

19、mit 0,10;16. 请说明php中传值与传引用的区别。什么时候传值什么时候传引用?(2分)答:按值传递:函数范围内对值的任何改变在函数外部都会被忽略按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。按引用传递则不需要复制值,对于性能提高很有好处。17. 在PHP中error_reporting这个函数有什么作用? (1分)答:设置错误级别与错误信息回报18. 请写一个函数验证电子邮件的格式是否正确 (2分)答:function checkEmail($email)$pregE

20、mail=/(a-z0-9*-_/.?a-z0-9+)*(a-z0-9*-_?a-z0-9+)+/.a-z2,3(/.a-z2)?/i;return preg_match($pregEmail,$email); 19. 简述如何得到当前执行脚本路径,包括所得到参数。(2分)答:$script_name = basename(_file_); print_r($script_name);21、JS表单弹出对话框函数是?获得输入焦点函数是? (2分)答:弹出对话框: alert(),prompt(),confirm()获得输入焦点 focus()22、JS的转向函数是?怎么引入一个外部JS文件?(

21、2分)答:window.location.href,23、foo()和foo()之间有什么区别?(1分)答:foo()控制错误输出24、如何声明一个名为”myclass”的没有方法和属性的类? (1分)答:class myclass 25、如何实例化一个名为”myclass”的对象?(1分)答:new myclass()26、你如何访问和设置一个类的属性? (2分)答:$object = new myclass();$newstr = $object-test;$object-test = info;27、mysql_fetch_row() 和mysql_fetch_array之间有什么区别?

22、 (1分)答:mysql_fetch_row是从结果集取出1行数组,作为枚举mysql_fetch_array是从结果集取出一行数组作为关联数组,或数字数组,两者兼得28、GD库是做什么用的? (1分)答:gd库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。 在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。29、指出一些在PHP输入一段HTML代码的办法。(1分)答:echo aaa;30、下面哪个函数可以打开一个文件,以对文件进行读和写操作?(1分)(a) fget() (b) file_open() (c) fopen() (d) op

23、en_file() c 31、下面哪个选项没有将 john 添加到users 数组中? (1分)(a) $users = john;(b) array_add($users,john);(c) array_push($users,john);(d) $users |= john; a , c 32、下面的程序会输入是否?(1分)$num = 10;function multiply()$num = $num * 10;multiply();echo $num;?输出:1033、使用php写一段简单查询,查出所有姓名为“张三”的内容并打印出来 (2分)表名UserName Tel Content

24、 Date张三 大专毕业 2006-10-11张三 本科毕业 2006-10-15张四 021- 中专毕业 2006-10-15请根据上面的题目完成代码:$mysql_db=mysql_connect(local,root,pass);mysql_select_db(DB,$mysql_db);$result = mysql_query(SELECT * FROM user WHERE name=张三);while($rs = mysql_fetch_array($result)echo $rstel.$rscontent.$rsdate; 34、如何使用下面的类,并解释下面什么意思?(3)c

25、lass testfunction Get_test($num) $num=md5(md5($num).En); return $num; 答:$testnum = 123;$object = new test();$encrypt = $object-Get_test($testnum);echo $encrypt;类test里面包含Get_test方法,实例化类调用方法多字符串加密35、写出 SQL语句的格式 : 插入 ,更新 ,删除 (4分)表名UserName Tel Content Date张三 大专毕业 2006-10-11张三 本科毕业 2006-10-15张四 021- 中专毕

26、业 2006-10-15(a) 有一新记录(小王 高中毕业 2007-05-06)请用SQL语句新增至表中mysql_query(INSERT INTO user (name,tel,content,date) VALUES (小王,高中毕业,2007-05-06)(b) 请用sql语句把张三的时间更新成为当前系统时间$nowDate = date(Ymd);mysql_query(UPDATE user SET date=.$nowDate. WHERE name=张山);(c) 请写出删除名为张四的全部记录mysql_query(DELETE FROM user WHERE name=张四

27、);36、请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别(2分)答:int是数字类型,char固定长度字符串,varchar实际长度字符串,datetime日期时间型,text文本字符串char的场地固定为创建表设置的长度,varchar为可变长度的字符38、写出以下程序的输出结果 (1分)$b=201;$c=40;$a=$b$c?4:5;echo $a;?答:439、检测一个变量是否有设置的函数是否?是否为空的函数是?(2分)答:isset($str),empty($str);40、取得查询结果集总数的函数是?(

28、1分)答:mysql_num_rows($result);41、$arr = array(james, tom, symfony); 请打印出第一个元素的值 (1分)答:echo $array0;42、请将41题的数组的值用,号分隔并合并成字串输出(1分)答:for($i=0;$icount($arr);$i+) echo $arr $i.,;43、$a = abcdef; 请取出$a的值并打印出第一个字母(1分)答:echo $a0 或 echo substr($a,0,1)44、PHP可以和sql server/oracle等数据库连接吗?(1分)答:当然可以45、请写出PHP5权限控制修饰符(3分)答:public(公共),private(私用),protected(继承)46、请写出php5的构造函数和析构函数(2分)答:_construct , _destruct47、完

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1