ddchuxing——php面试题及答案
1. echo和print的区别
echo没有返回值,print有返回值1,执行失败时返回false;echo输出的速度比print快,因为没有返回值;echo可以输出一个或多个字符串,print只允许输出一个字符串;print可以用于复杂的表达式,echo不行。
另问:echo是个函数吗? echo不是函数,是语言结构。具体的解释可参见http://www.cnblogs.com/m1001m/archive/2013/03/24/2978219.html
2. 说几组数组有关函数
实在太多了,这里写几个好了,完整版参见http://www.runoob.com/php/php-ref-array.html
array() 创建数组。
array_diff() 比较数组,返回差集(只比较键值)。
array_pop() 删除数组的最后一个元素(出栈)。
array_rand() 返回数组中一个或多个随机的键。
array_replace() 使用后面数组的值替换第一个数组的值。
array_reverce() 以相反的顺序返回数组。
array_shift() 删除数组中首个元素,并返回被删除元素的值。
array_slice() 返回数组中被选定的部分。
array_splice() 删除并替换数组中指定的元素。
arsort() 对关联数组按照键值进行降序排序。
end()将数组的内部指针指向最后一个元素。
in_array() 检查数组中是否存在指定的值。
krsort() 对数组按照键名逆向排序。
next() 将数组中的内部指针向前移动一位。
reset() 将数组的内部指针指向第一个元素。
3. php中的魔术函数举例 哎呦,我脑子一抽就说出来了魔术变量,醉了。
关于魔术函数呢,各方资料解释都不尽相同,大家多翻一翻,看看哪种说法你自己更容易理解。
__construct() 允许在实例化一个类之前先执行构造方法。
__destruct() 析构方法允许在销毁一个类之前执行的一些操作或完成一些功能。
__get(string $name) 用于获取私有属性值。读取一个对象的属性时, 若属性存在,则直接返回属性值;若不存在,则会调用__get函数。
__set(string $name,mixed $value) 用于设置私有属性。设置一个对象的属性时, 若属性存在,则直接赋值;若不存在,则会调用__set函数。
__call(string $name,array $arguments) 用于监视错误的方法调用。对象调用某个方法,若方法存在,则直接调用; 若不存在,则会去调用__call函数。静态方法中调用不存在或者不可访问的方法时,会调用__callStatic(string $name, array $arguments) 方法。
__tostring() 当打印对象时会被直接调用。如echo $obj;或print $obj。
__clone() 当对象被拷贝时直接调用。如$t=new Test();$t1=clone $t。
__sleep() serialize之前被调用。若对象比较大,想删减一点再序列化,可考虑一下此函数。
__wakeup() unserialize() 会检查是否存在一个 __wakeup() 方法。如果存在,则会先调用__wakeup 方法,预先准备对象需要的资源。
__isset() 检测一个对象的属性是否存在时被调用。如:isset($c->name)。
__unset() unset一个对象的属性时被调用。如:unset($c->name)。
__set_state() 调用var_export时,被调用。用__set_state的返回值做为var_export的返回值。
__autoload() 实例化一个对象时,如果对应的类不存在,则该方法被调用。
__invoke() 当尝试以调用函数的方式调用一个对象时,__invoke 方法会被自动调用。
4. 往数据库里插入字段的MySQL语句
假设我们的表名是users:
ALTER TABLE 'users' ADD 'uName' VARCHAR(200) NOT NULL AFTER 'uId'; //在uId字段后面加uName字段,中间的varchar 200 notnull都是属性
※那么问题来了,删除和修改语句都是什么呢?
ALTER TABLE 'users' DROP 'uName'; // 删除uName字段
ALTER TABLE 'users' CHANGE 'uName' 'uId' INT(6) NOT NULL; //将字段uName改为uId
5. LAMP和LNMP的区别
LAMP==Linux+Apache+Mysql+PHP
LNMP==Linux+Nginx+Mysql+PHP


感谢博主——啄木鸟http://blog.sina.com.cn/s/blog_626998030102wofn.html
6. HTTP请求错误返回码都有哪些?
3xx : 重定向
301: 已移动 — 请求的数据具有新的位置且更改是永久的。 302: 已找到 — 请求的数据临时具有不同 URI。
303: 请参阅其它 — 可在另一 URI 下找到对请求的响应,且应使用 GET 方法检索此 应。
304: 未修改 — 未按预期修改文档。
305: 使用代理 — 必须通过位置字段中提供的代理来访问请求的资源。 306: 未使用 — 不再使用;保留此代码以便将来使用。 4xx: 客户机中出现的错误
400: 错误请求 — 请求中有语法问题,或不能满足请求。 401: 未授权 — 未授权客户机访问数据。 402: 需要付款 — 表示计费系统已有效。 403: 禁止 — 即使有授权也不需要访问。
404: 找不到 — 服务器找不到给定的资源;文档不存在。 407: 代理认证请求 — 客户机首先必须使用代理认证自身。
415: 介质类型不受支持 — 服务器拒绝服务请求,因为不支持请求实体的格式。 5xx: 服务器中出现的错误
500: 内部错误 — 因为意外情况,服务器不能完成请求。 501: 未执行 — 服务器不支持请求的工具。
502: 错误网关 — 服务器接收到来自上游服务器的无效响应。
503: 无法获得服务 — 由于临时过载或维护,服务器无法处理请求。 900:内部错误(由程序运行时抛出异常终止请求,而生成的结果) 901:连接超时 902:响应超时 903:IO异常
904:数据用尽(参数化时数据取尽) 905:未知主机异常
906:URL协议异常(url格式错误)
907:证书错误(https请求时使用本地证书,由证书问题导致的异常) 908:socket连接错误 910:IO异常中断 911:非法状态 912:不支持的操作 913:连接关闭
914:没有http响应 915:请求中止
※问题又来了,请求成功返回什么呢?
2xx: 成功
200: 正常;请求已完成。 201: 正常;紧接 POST 命令。
202: 正常;已接受用于处理,但处理尚未完成。 203: 正常;部分信息 — 返回的信息只是一部分。
204: 正常;无响应 — 已接收请求,但不存在要回送的信息。
7. php版本之间的差异了解多少?目前php最新版本是?
php版本更新太快了,每个月好几版,2016.11.10号出的7.0.13版本。版本之间的差异我也搞不太清楚,有熟悉的朋友拜托指教。
8. (用JS代码书写Ajax异步数据传输?)
讲真,这个问题的具体的问法我记不清楚了,所以我括起来了。貌似是说页面跳转?把数据传送到另一个页面?
9. 字段为什么要加索引,哪些字段需要加索引?
使用索引可快速访问数据库表中的特定信息,建立索引的目的是加快对表中记录的查找或排序。
为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。
至于哪些数据需要加索引,还是需要了解加索引的原则,http://www.360doc.com/content/11/1028/20/7695581_159948053.shtml。这里摘抄下重点:① 对于查询中很少涉及的列或重复值比较多的列,不要建立索引; ② 对于按范围查询的列,最好建立索引; ③ 表中若有主键或外键,一定要为其建立索引。
※那么问题来了:什么是主键、外键?聚集索引和非聚集索引的区别?
10. 因为我个人有一些Linux系统开发经验,面试官问我熟悉的linux命令有哪些?
命令多的一拼,具体参见:http://www.runoob.com/linux/linux-command-manual.html。
这里列举几个常用的吧:
改变文件的权限:chmod
切换目录:cd
显示当前所在目录:pwd
建立新目录:mkdir
删除空的目录:rmdir
列出目前工作目录所含之文件及子目录:ls
复制档案或目录:cp
返回路径中的文件名:basename
返回路径中的目录:dirname
寻找特定档案:whereis locate find
抱歉,可能一些写的并不正确,希望看到的朋友指教,谢谢!
ddchuxing——php面试题及答案的更多相关文章
- Android 面试题及答案(2)
1.Activity相关.launchmode,OnSaveInstnceState,生命周期等. 4种默认的launchmode,以及OnNewIntent的回调. OnNewIntent-> ...
- java常见面试题及答案 1-10(基础篇)
java常见面试题及答案 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程.Java 源文件被 ...
- php面试题及答案收藏(转)
php面试题及答案收藏(这套试题是在网上看到的,不知作者是谁) 基础题 1.表单中 get与post提交方法的区别? 答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据, ...
- 计算机组成原理往年试题以及答案(tzf!!!)
计算机组成原理往年试题以及答案(下载链接!!!) 太子妃升职记(1~36) ::http://pan.baidu.com/s/1dDP5Kqd
- Linux面试题汇总答案
转自:小女生的Linux技术~~~Linux面试题汇总答案~~ 一.填空题:1. 在Linux系统中,以 文件 方式访问设备 .2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的 ...
- 最全的iOS面试题及答案-转载
1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承:可以实现多个接口,通过实现 ...
- jQuery经典面试题及答案精选(转)
jQuery是一款非常流行的Javascript框架,如果你想要从事Web前端开发这个岗位,那么jQuery是你必须掌握而且能够熟练应用的一门技术.本文整理了一些关于jQuery的经典面试题及答案,分 ...
- php经典面试题与答案(转先锋教程网)
php经典面试题与答案 时间:2016-02-29 16:06:23来源:网络 导读:php经典面试题与答案,包括腾讯php面试题.百度php面试题.新浪php面试题等 php面试题及答案 1,禁 ...
- 经典71道Android试题及答案
本文为开发者奉献了70道经典Android面试题加答案--重要知识点几乎都涉及到了,你还等啥,赶紧收藏吧!! 1. 下列哪些语句关于内存回收的说明是正确的? (b) A. 程序员必须创建一个线程来释放 ...
随机推荐
- jvm 简单描述
java零基础入门-面向对象篇(一) 基础类型和引用类型 友情提示:本章开始可能会有部分较深入的内容,不说又不行,说了又很难解释清楚,因为里面的技术细节实在太多太复杂,所以我会屏蔽部分技术细节,只展示 ...
- eclipse启动Tomcat时报错:严重: Exception loading sessions from persistent storage
我的项目工程是Spring+hibernate+structs 1.0,最近启动tomcat时多次遇到如下异常: 严重: IOException while loading persisted se ...
- redis参数配置
redis.conf配置文件 配置项 值 说明 slave-read-only yes slave是否只读 slave-serve-stale-data yes 当slave与master断开连接,s ...
- 基于maven+dubbo+spring+zookeeper的简单项目搭建
maven下搭建dubbo小demo,供初学者学习,有不正确地方还请见谅. 先推荐一篇创建maven项目的文章,个人认为比较完整详细清楚: http://www.cnblogs.com/leiOOle ...
- JAVA_Could not find property [struts.actionMapping]怎么办
你的项目中不包含log4j.jar这个文件,包含进去即可
- mongodb springdata 问题处理
发现spring4-mongo3.2.1 加上用户名密码认证后无法认证的问题. 1.必须在当前使用的数据库下建用户,权限可以给readWrite 2.由于mongodb2和mongodb3的用户认证方 ...
- bigAutocomplete实现联想
直接举例说明: //xx联想 var list = $(".js-xxxx").text();//需要联想出的内容的list,该list由后台传入,保存在jsp页面,js取隐藏域值 ...
- DevOps企业实践与架构
原文地址:http://www.sohu.com/a/112351816_355140 什么是DevOps及其误区 DevOps概念从2009年提出已有8个年头.可是在8年前的那个时候,为什么DevO ...
- Excel工作表忘记密码如何破解?
第一种方法就是按住快捷键ALT+F11,然后切换出VBA编辑窗口,如图一:在该窗口的左侧我们的选择那个忘记密码的工作表,比如sheet 1... 2 然后我们复制以下代码 “Sub Pojie()Ac ...
- 37:密码截取(回文串manacher算法)
题目描述:Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解.比如 ...