您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > 2-面试题汇总-PHP程序
北京星模实训学校培养IT界的明星模特北京市海淀区清河清景园3号楼1单元9层邮编:100085电话:010-819983565271792352717924面试题汇总——PHP程序是什么?怎么做?为什么?专博1、写出五种以上你使用过的PHP的扩展的名称(提示:常用的PHP扩展)mysql、gd2、pdo、curl、mbstring、soap等,在php.ini中可以找到。尽量多了解一些扩展,了解他们的功能(能做什么)。2、了解MVC模式吗?请写出三种以上目前PHP流行的MVC框架名称(不区分大小写)MVC是Model(模型)、View(视觉)、Controll(控制器)的缩写。MVC(Model-View-Controller)介绍模型(Model):应用程序的模型部分关心的是欲显示的数据的细节。模型通常关注的是应用程序的业务逻辑部分,关注的是如何使用数据库来读取和保存数据。视图(View):视图关心的是用户显示的部分,它通常是HTML。控制器(Controller):控制器将特定的模型和视图结合起来,保证将正确的数据显示到页面上。常用的MVC框架:ZendFrameworkFleaPHPCakePHPThinkPHPCI大家有时间可以对框架进入多一些的深入了解。3、用PHP打印出前一天的时间格式是2008-2-818:00:10echo'昨天:',date('Y-m-dH:i:s',strtotime('-1day')),br/;echo'昨天:',date('Y-m-dH:i:s',mktime(date('H'),date('i'),date('s'),date(m),date(d)-1,date(Y))),br/;参考strtotime.phpmktime.php4、echo(),print(),print_r()的区别var_dump()echo与print:它们都不是真正的函数,是一种语法结构(也有说print是函数,echo不是)。echo和print后面都可不用加(),如:echo'ok';print'ok';运行速度echo稍快一些,因为echo并不返回值,print返回一个值int(1)。结论:1、一般用echo,除非三元运算时。$a=5;($a==5)?print'5':print0;2、echo后不要跟()。print_r是递归打印,主要用于输出数组对象。北京星模实训学校培养IT界的明星模特北京市海淀区清河清景园3号楼1单元9层邮编:100085电话:010-819983565271792352717924、print只能有一个参数,所以不能不能用,,而echo可以。参考echo_print_print_r.php5、能够使HTML和PHP分离开使用的模板其实PHP本身就是一种模版引擎。参考require.php常用的模板引擎:smarty,还有PHPLib,FastTemplate,Savant等。模板引擎列表:=1237696、如何实现字符串翻转?可用内置函数strrev。如果不准用PHP内置函数的就自己写:参考strrev2.phpHello-olleH7、$a=hello;$b=&$a;unset($b);$b=world;whatis$a?参考references.php此题的目的是要深刻理解引用。通常,在将一个变量的值赋给另外一个变量的时候,先产生原变量的一个副本,然后再将它保存在内存的其他地方。如:$a=5;$b=$a;首先产生$a的一个副本,然后再将它保存到$b中。如果随后改变$a的值,$b的值不会改变:$a=7;//这时$b仍然是5可以使用引用操作符&来避免这样的副本。如:$a=5;$b=&$a;$b=7;//这时$a和$b都会是7。这行也可以换成$b=7;引用是非常有趣的。请记住,引用就像一个别名,而不是一个指针。$a和$b都指向了内存的相同地址。可以通过重置它们来改变所指向的地址。如下所示:unset($a);重置并不会改变$b的值,但是只可以破坏$a和值7保存在内存中的连接。可以搜索:引用site:php.net进一步深入了解PHP的引用。也可以直接访问这个页面:北京星模实训学校培养IT界的明星模特北京市海淀区清河清景园3号楼1单元9层邮编:100085电话:010-819983565271792352717924当unset一个引用,只是断开了变量名和变量内容之间的绑定。这并不意味着变量内容被销毁了。例如:?php$a=1;$b=&$a;unset($a);?不会unset$b,只是$a。8、实现中文字串截取无乱码的方法。a.可以用正则b.用mb_substr()参考mb_substr.php北京abcsubstr9、$a=1;$x=&$a;$b=$a++;whatis$b?$x?参考references2.php10、$array=array();$x=empty($array);whatis$x?trueorfalse参考empty.php什么样的内容为空?empty()、isset()、is_null11、用PHP写出显示客户端IP与服务器IP的代码得到服务器端的IP:gethostbyname()参考gethostbyname.php有时候得不到。$_SERVER['SERVER_ADDR'];得到客户端的IP:$_SERVER['REMOTE_ADDR'];参考ip.php12、某内容管理系统:用户提交内容后,系统生成静态HTML页面;写出实现的基本思路,最好写出相关代码。用户提交内容后,将内容加在最终页面模板上,然后另存为HTML页面(创建HTML页面,将内容和页面模板写入)。北京星模实训学校培养IT界的明星模特北京市海淀区清河清景园3号楼1单元9层邮编:100085电话:010-819983565271792352717924代码:$tpl-assign('vars',$vars);$static_html==$tpl-fetch('tpl/index.html');//Smarty的fetch方法$fp=fopen('html/index.html','w');fwrite($fp,$static_html);13、写出以下程序的输出结果$b=201;$c=40;$a=$b$c?4:5;echo$a;参考3yuan.php14、写出以下程序的输出结果$str=cd;$$str=hotdog;$$str.=ok;echo$cd;参考$$.php15、在PHP中error_reporting这个函数有什么作用?设定php脚本的错误报告级别error_reporting(6143)的作用是设定php脚本的错误报告级别为“所有错误”。ini_set('display_errors',1);//作用是在显示PHP脚本错误,相当于修改php.ini中的display_errors16、简述如何得到当前执行脚本路径,包括所得到参数。访问=1echo$_SERVER['SCRIPT_URL'];//得到/phpinfo.phpecho$_SERVER[SCRIPT_URI];//得到[SCRIPT_FILENAME];//得到F:/[REQUEST_URI];//得到/phpinfo.php?id=1echo$_SERVER[SCRIPT_NAME];//得到/phpinfo.php参考server.php=117、有一个网页地址如何得到它的html内容file_get_contents()18、数组函数arsort的作用是__。北京星模实训学校培养IT界的明星模特北京市海淀区清河清景园3号楼1单元9层邮编:100085电话:010-819983565271792352717924、执行程序段?phpecho8%(-2)?将输出__。参考%.php20、语句include和require都能把另外一个文件包含到当前文件中,它们的区别是__;为了避免多次包含同一文件,可以用语句__来代替它们。发生异常时include产生警告,程序继续执行;require产生致命错误,程序停止往下执行。一般推荐使用require(更能调试错误)。require_once()/include_once()require重复调用会多次加载你饮用的文件;require_once只加载一次,而不管你实际上调用了多少次,主要用于复杂的文件包含关系。例如b包含a,c包含a,但同时c又包含了b,那么如果用require的话可能会导致两次加载a,这时应使用require_once。实际开发过程中:如果确定某个文件只会被包含一次,那么用require,否则用require_once。因为require不需要检测文件是否被包含过,比require_once的执行效率要高。21、一个函数的参数不能是对变量的引用,除非在php.ini中把__设为on。allow_call_time_pass_reference22、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须__。结束标识符所在的行不能包含任何其它字符除;参考heredoc.php23、有一数组$a=array(3,2,4,9,8);请将其重新排序,按从小到大的顺序列出。可用冒泡法进行排序:冒泡排序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后,此时第一趟结束,在最后的数必是所有数中的最大数。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一个新的最大数。如此下去,直至最终完成排序。参考array1.phparray2.php24、写出session的运行机制。session创建时,是否会在客户端记录一个cookie?cookie里面的内容是什么?北京星模实训学校培养IT界的明星模特北京市海淀区清河清景园3号楼1单元9层邮编:100085电话:010-819983565271792352717924机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。当程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识-称为sessionid,如果已包含一个sessionid则说明以前已经为此客户端创建过session,服务器就按照sessionid把这个session检索出来使用(如果检索不到,可能会新建一个),如果客户端请求不包含se
本文标题:2-面试题汇总-PHP程序
链接地址:https://www.777doc.com/doc-3103496 .html