php常见面试题大全及答案
php常见面试题及答案
1 说出常用的10个数组方法
我觉得数组比较最能体现PHP基础语法的一个数据结构了,下面给大家列一下常用的10个关于操作数组的函数
in_array(判断数组中是否有某个元素)
implode(将数组按照一定规律分解)
易语言自动怪并打怪 json_encode(将数组转化成json)
sort(排序,有很多排序的函数这里就说一个)
array_push(将一个活多个单元压入数组的末尾)
array_merge(合并数组)
basic语言与c语言 array_key_exists(检查键名是否存在于数组中)
array_unique(去除数组中重复的值,只能对一位数组起作用)
array_shift(移除数组中第一个单元)
php有很多关于数组的函数,但常用的就是这几个了,可能我说的还不是很合适,但没什么大问题。需要注意的是,不要为了应付面试而盲目的死记硬背php的数组函数,你像array_pop这样的函数,你倒是知道这样的函数,笔试的时候也打出来了,但当面试官问你,你平时怎么用这个方法,你不就噎菜了吗?!所以要写平时常用的
2 说出平时常用的操作字符串的方法,并解决具体问题
同上,字符串操作也是php的基础用法,下面尽可能全的罗列一下平时常用的字符串操作
substr(截取字符串)
strlen(获取字符串长度)
strpos(查字符串首次出现的位置)
str_replace(字符串替换)
explode(将字符串按照规律转化成数组)
strtoupper(将所有字母变成大写)
strtolower
ucfirst(将字符串的首字母变成大写)
ucwords(将字符串中每个单词的首字母变成大写)
strrev(反转字符串,其实不是很常用)
substr_replace(替换字符串的子串,注意与str_replace的区别)
strip_tags(去除html和php标记,可以选择保留想要的标签)
trim(去除空格)
explode(分割成数组)
编程猫一年学费多少钱 这些是比较常用的了,肯定还有一些我没有列举出来,毕竟php的字符串函数比较多又或者其他的函数我用的不多。另外,记住这个函数并不是目的,目的是会用,笔试的时候可不是简单的问你这些函数的名字,那都是要做具体的例子的。现在时间比较紧,有时间一定会举出10个例子来分析的
3 恒等于 貌似不应该把这个当做一个单独的知识点来说,但这确实是笔试题中经常考到的
反正我平时没有主动用过这个东西一次。“==”相比于"==="不同的是,前者之比较值的大小,后者会比较数据类型。举例说明
if(1 == 1){echo "its right";}
if(1 === 1){}
很明显,前者是正确的。因为这两个变量的类型不同
4 三元运算符
它的一般定义谁都会有,$a = 1 ? one :0;但是有一次笔试我见了一个比较变态的题目,多个三元运算符和其他运算符联合在一起,让我不知道先执行哪一个,举例说明
echo (true?true:false?t:f);这个问题曾一段让我很郁闷,到底先执行哪一个呢?首先,肯定是从左到右的,echo ((true ? true : false) ? t : f);这样就够清晰了吧,哈哈
记住这一原则就可
5 require和include的异同
这应该是让我们比较恶心的问题了,但这却也是经常考的问题
我们都知道的是require在执行出错时不会继续执行,include会继续执行,还有就是require一般放在文件的头部包含一个初始化文件之类的东西,而include一般是在语句中用到了那些文件包含过来
6 session和cookie
这也是面试中常问到的问题,最简单的回答常是session保存在服务端,大量的session会mysql面试题大全
增大服务器的压力,cookie因为保存在客户端所以没有这些问题,但cookie因为这个特点所以相对来说不安全,这是我初学php的时候知道的
后来我知道了,session与cookie联系在一起是通过session_id联系起来的,而seesion_id是保存在cookie中的,这也就是为什么我清了cookie,session会失效的原因。当然我们也可以不将session_id保存在cookie里,一般大型网站不会将用户信息保存在session里,正如上面所说的因为会占资源,这时会将session保存在DB中,当然这也和集有关,因为你如果使用了集的话,会有多台服务器,你seesion保存在这台服务器上而处理的操作却通过另一台服务器的话就不到session了。另外,session的过期时间,很多人都以为在php的配置文件中配置了就可以,其实这不是最好的方式,因为这个过期时间还取决于另一个参数,也就是过了这个你设置的时间session可能不会马上被清掉。所以我们将session保存在DB中。
7 面对对象达内教育
这几乎是每次面试都会问到的问题,而面试官又有几个能明白的呢?这里不详细介绍这个问题
8 对mvc的理解
这道是个不难理解的概念,现在只要是框架都用这种模式来处理问题了,mvc和smarty还不一样。smarty没有将m和c分开,也就是业务逻辑和控制器还是混在一起的,比较典型的例子就是ecshop。控制器controller负责调度数据,接受请求,具体处理数据的操作让模板model来完成,然后再通过控制器将值传给试图view
PHP程序员面试注意事项
PHP程序员在面试的时候一般应该抓住以下几个点
一、应该介绍自己掌握的开发一种,主要介绍PHP语言的独特语法以及如何使用,比如PHP语言会比CGI更快的执行动态页面。
二、必须熟悉Oracle、Mysql等数据库,并能简单的介绍自己掌握的程度。由于php做出的动态页面比用其他语言做出来的页面在执行效率以及CGI方面高得多,所以你还需要在面试中说出自己的文档撰写能力很强。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论