蜜蜂职场文库 > 面试试题 >

php面试题目及答案

时间: 小龙 面试试题

  PHP工程师在求职面试中,提前了解面试题目及答案很重要,那么你做好面试的准备了吗?下面小编已经为你们整理了php面试题目及答案,一起来看看吧。

  php面试题目及答案一

  1、foo()和@foo()之间有什么区别?

  答:@foo()控制错误输出

  2、如何声明一个名为”myclass”的没有方法和属性的类?

  答:class myclass{ }

  3、如何实例化一个名为”myclass”的对象?

  答:new myclass()

  4、你如何访问和设置一个类的属性?

  答:$object = new myclass();

  $newstr = $object->test;

  $object->test = “info”;

  5、mysql_fetch_row() 和mysql_fetch_array之间有什么区别?

  答:mysql_fetch_row是从结果集取出1行数组,作为枚举

  mysql_fetch_array是从结果集取出一行数组作为关联数组,或数字数组,两者兼得

  6、下面哪个函数可以打开一个文件,以对文件进行读和写操作?

  (a) fget() (b) file_open() (c) fopen() (d) open_file()

  答:c

  7、下面的程序会输入是否?

  $num = 10;

  function multiply(){

  $num = $num * 10;

  }

  multiply();

  echo $num;

  ?>

  否,局部变量

  8、JS表单弹出对话框函数是?获得输入焦点函数是?

  答:弹出对话框: alert(),prompt(),confirm()

  获得输入焦点 focus()

  9、JS的转向函数是?怎么引入一个外部JS文件?

  答:window.location.href;

  10、$a = ‘abcdef’; 请取出$a的值并打印出第一个字母?

  答:echo $a{0} 或 echo substr($a,0,1)

  php面试题目及答案二

  1、如何使用下面的类,并解释下面什么意思?

  class test{

  function Get_test($num){

  $num=md5(md5($num).”En”);

  return $num;

  } }

  双重md5加密

  $testObject = new test();

  $encryption = $testObject->Get_test(“xiaotian_ls”);

  2、请举例说明在你的开发过程中用什么方法来加快页面的加载速

  答:要用到服务器资源时才打开,及时关闭服务器资源,数据库添加索引,页面可生成静态,图片等大文件单独服务器。使用代码优化工具啦

  3、写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把script标记及其内容都去掉):

  $script="以下内容不显示:alert(‘cc’);";

  echo preg_replace("/].*?>.*?/si", "替换内容", $script);

  ?>

  4、以Apache模块的方式安装PHP,在文件http.conf中首先要用语句____动态装载PHP模块,然后再用语句____使得Apache把所有扩展名为php的文件都作为PHP脚本处理。

  答:LoadModule

  php5_module

  "c:/php/php5apache2.dll";AddType application/x-httpd-php .php

  5、sort()、asort()、和 ksort() 有什么分别?它们分别在什么情况下使用?

  sort()

  根据阵列中元素的值,以英文字母顺序排序,索引键会由 0 到 n-1 重新编号。主要是当阵列索引键的值无关疼痒时用来把阵列排序。

  asort()

  与 sort() 一样把阵列的元素按英文字母顺序来排列,不同的是所有索引键都获得保留,特别适合替联想阵列排序。

  ksort()

  根据阵列中索引键的值,以英文字母顺序排序,特别适合用于希望把索引键排序的联想阵列。

  6、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们?

  答:require->require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require

  include->include有返回值,而require没有(可能因为如此require的速度比include快)

  注意:包含文件不存在或者语法错误的时候require是致命的,include不是

  7、PHP的意思?

  答:PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页

  8、谈谈asp,php,jsp的优缺点?

  答:ASP全名Active Server Pages,是一个WEB服务器端的开发环境, 利用它可以产生和运行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VB Script(Java script)作为自己的开发语言。

  PHP是一种跨平台的服务器端的嵌入式脚本语言. 它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面.它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。

  JSP 是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行).Sun 公司借助自己在Java 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet 之外,又有新的硕果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。

  三者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。在 ASP 、PHP、JSP 环境下,HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 、PHP、JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到 HTML 代码中,然后一起发送给浏览器。 ASP 、PHP、 JSP三者都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。

  9、 优化MYSQL数据库的方法

  (1).选取最适用的字段属性,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据库不用去比较NULL值。

  (2).使用连接(JOIN)来代替子查询(Sub-Queries)

  (3).尽量少使用 LIKE 关键字和通配符

  php面试题目及答案三

  1.PHP里面是区分大小写的吗?

  这是个很不好回答的问题,PHP对于系统函数、用户自定义函数、类名称等是不区分大小写的如可以用EHCO也可以用echo调用显示函数,但对于变量名称又是区分大小写的,如$Name和$NAME是2个不同的变量。而对于文件名又因服务器操作系统而定,linux中区分,Win不区分

  2.php://input和$_POST有什么区别??

  $_POST 与 php://input可以取到值,$HTTP_RAW_POST_DATA 为空

  $_POST 以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换。

  php://input 可通过输入流以文件读取方式取得未经处理的POST原始数据

  php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。php://input 不能用于 enctype="multipart/form-data"。

  3.mysqli_real_connect()和mysqli_connect()有啥区别?

  mysqli_real_connect()需要一个被mysqli_init()创建的有效对象

  在连接之前可以通过mysqli_options()来设置一些选项(例如连接超时,自动提交之类)

  还多了个flags来设置一些不同的选项

  上述是官方对这个区别的解释,其实说白了,就是在mysqli_connect()基础上增加了一些可选项

  参考:http://cn.php.net/manual/zh/mysqli.real-connect.php

  4.PHP中的非静态方法可以通过静态调用吗,反之呢?

  其实问题是问没有通过static定义的方法,能否通过”对象名::方法名“这样的形式来调用。答案是会产生一个strict错误,但在会继续执行代码。

  反之,能否通过“对象名->方法名“的形式来调用static定义的方法?答案是不能,会出错并中断程序执行。

  5.PHP中,当前脚本的名称(不包括路径和查询字符串)记录在哪个预定义变量中?而链接到当前页面的URL又记录在哪个预定义变量中?

  答:echo $_SERVER['PHP_SELF']; echo $_SERVER["HTTP_REFERER"];

  6.行程序段<?php echo 8%(-2) ?>将输出什么?

  答:0

  7.HTTP 1.0中,状态码 401 的含义是什么;如果返回“找不到文件”的提示,则可用 header 函数,其语句是什么?

  答:状态码401的含义是未授权; header(“HTTP/1.0 404 Not Found”)。

  8.组函数 arsort 的作用是什么;语句 error_reporting(2047)的作用是什么?

  答:arsort的作用是对数组进行逆向排序并保持索引关系;All errors and warnings。

  9.出一个正则表达式,过虑网页上的所有JS脚本(即把标记及其内容都去掉)?

  答:/<[^>].?>.?<//>/si

  
看了“php面试题目及答案”

49508