php常见面试,php常见面试题(—)

什么是面向对象?   主要特征是什么?

面向对象是一种程序设计模式,   它利于提高程序的重用性,使程序结构更加清晰。主要特征,封装,继承,多态。

HTTP中状态码及其含义?

1xx信息性状态码,接受的请求正在处理

2xx成功状态码,请求正常处理完毕。

3xx重定向,需要附加操作以完成请求。

4xx客户端错误,客户端请求出错,服务端无法请求处理

5xx服务器错误,服务器处理请求出错

200 OK 表示从客户端发给服务器的请求被正常处理并返回。

204 No Content 表示客户端发给服务器的请求得到成功处理,但在返回的响应报文中不含实体的主体部分。(没有资源可返回)

206 Patial Content 表示客户端进行了范围性请求,并且服务器成功执行了这部分get请求,,响应报文中包含由Content-Range指定范围的试实体内容

301 Moved Permanently 永久性重定向,请求的资源被分配了新的url 之后应使用更改的url

302 Found 临时性重定向,表示请求的资源被分配了新的url,希望本次访问新的url,301与302的区别是,前者永久移动url,后者临时移动,可能以后还会移动。

303 See Other 表示请求的资源被分配了新的url应使用get方法定向获取请求的资源。302与303的区别是后者规定了get方式获取资源。

304 Not Modified 表示客户端发送附带条件(是指采用GET方法的请求报文中包含if-Match、If-Modified-Since、If-None-Match、If-Range、If-Unmodified-Since中任一首部)请求时,服务端允许访问资源,但请求为满足条件时返回该状态码

307 Temporary Redirect 临时重定向,与303一样,但是307会遵循浏览器标准,不会从post变为get

400 Bad Request 请求报文中存在错误语法,

401 Unauthorized 未经许可,需要经过http认证

403 Forbidden 表示服务器拒绝该次访问(权限出现问题)

404 Not Found 表示服务器上无法找到请求的资源,除此之外,也可以在服务器拒绝请求,但不想给拒绝原因时使用

500 Inter Server Error 表示服务器在执行请求时发生了错误,也可能是web应用存在某些bug或者某些临时错误

503 Sever Unavailable 表示服务器暂时处于超负载或者进行停机维护。

Linux下建立压缩以及解压缩?

四种方法,Tar.gz,Bz2,Gzip(不保留原文件),Zip(-r 对目录)

打包:tar czf file.tar.gz file.txt

解压:tar xzf  file.rar.gz

打包:bzip2 -k 文件

解压 bunzip2 -k 文件

打包:gzip file.txt

解压:gunzip file.txt.gz

打包:zip file.zip file.txt

解压:unzip file.zip

写出数据类型char,varchar,datatime,int,text的含义?char和varchar的区别?

char定长字符,varchar变长字符,datatime日期时间类型,int整数,text文本类型。char和varchar的区别就是,varchar时可变长度,内容多大就占多大内存,有效节省空间,在数据改变时,服务器要进行额外操作,效率比char低。

MyISAM和innodb的区别?

(1)InnoDB支持事物,MyISAM不支持,如在增删改查中哪一个出现了错误,还可以回滚还原,MyISAM则不可。

(2)InnoDB支持外键,MyISAM不支持。

(3)MyISAM适合查询以及插入为主的应用,InnoDB适合频繁修改以及涉及到安全性能较高的应用,

(4)MyISAM是默认引擎,InnoDB是需要进行指定

(5)InnoDB中不保存表的行数,如select count(*) from table时,InnoDB需要进行扫描整个表来进行计算多少行,MyISAM只需要简单的读出保存好的行数即可,注意的是,当count(*)语句包含where时MyISAM也需要扫描全表。

(6)InnoDB不支持FULLTEXT类型的索引,

(7)对于自增长的字段,InnoDB必须包含只含有该字段的索引,但是MyISAM表中可以和其他字段一起建立联合索引

(8)清空整个表时,MyISAM会重建表,而InnoDB则会一行一行的删除,效率非常慢。

(9)InnoDb支持行级锁,某些情况下还是支持锁整表的例如update table set a = 1 where user like ‘%lee%’.

InnoDB优点:支持外键,支持事物并发量较大,适合大量update

缺点:查询速度较慢,不适合大量的select

NyISAM优点:查询速度相对较快,适合大量select,可以全文索引

缺点:缺乏事物,缺乏外键,并发量小,不适合大量update

isset与empty和is_null的区别?

isset()检测一个变量是否被设置且非NULL返回true,仅当null和未定义返回false

empty()检测一个变量是否为空,"",0,0.0,"0",NULL,false,array(),$var(声明了但未赋值的变量)均返回true,但是'0.0'和'00'返回false

is_null()检测变量是否为NULL是则返回true被赋值为NULL,尚未被赋值,被unset()都被认定为NULL。

php数组相关函数有哪些?

array()-------------创建数组

range()------------创建并返回一个包含指定元素范围的数组

array_combine()--------通过合并两个数组来建立一个新的数组

compact()-------------建立一个数组

array_chunk()----------将一个数组分割成多个

array_merge()---------将两个数组合并成一个

array_slice()-----------将数组中根据条件取出一段值

array_diff()------------返回两个数组的差级数组

array_intersect()-------计算两个数组的交集

array_search()---------在数组中搜索给定的值

array_splice()----------移除数组的一部分且替代他

array_key_exists()------判断数组中是否存在指定的key

shuffle()---------------把数组的元素按照随机顺序排列

array_flip()-------------交换数组的键和值

array_reveres()--------将数组中元素顺序反转,创建新数组并返回

array_unique()---------移除数组中重复的值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值