面试题
shenpengchao
这个作者很懒,什么都没留下…
展开
-
MyISAM和InnoDB的区别
MySQL默认采用的是MyISAM。 MyISAM不支持事务,而InnoDB支持。InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认被封装成一个事务,自动提交,这样会影响速度,所以最好是把多条SQL语句显示放在begin和commit之间,组成一个事务去提交。 InnoDB支持数据行锁定,MyISAM不支持行锁定,只支持锁定整个表。即MyISAM同一个表上的原创 2016-08-20 14:28:48 · 312 阅读 · 0 评论 -
php 面试题
php面试题及答案,经典php笔试题与答案问题1. 考虑如下脚本。标记处应该添加什么代码才能让脚本输出字符串 php?$alpha = 'abcdefghijklmnopqrstuvwxyz';$letters = array(15, 7, 15);foreach($letters as $val) {/* 这里应该加入什么 */}?>原创 2017-02-08 16:47:06 · 2036 阅读 · 0 评论 -
PHP数组键值使用单引号和双引号和无符号的区别
第一种:$array['key']此单引号键值模式可以直接被解析为一个数组即$array第二种:$array["key"]此双引号键值模式,先执行的是"key",判断是否有定义的PHP变量存在,在解析为数组即$array第三种:$array[key]此为无单双引号键值模式,会先分析局部作用于是否有key键值定义的常量存在,即使用define('key','val'),然后解析数组即$arr原创 2016-09-06 10:45:35 · 2596 阅读 · 0 评论 -
冒泡排序,快速排序
header('content-type:text/html;charset=utf8');/** * 冒泡排序 * 随便从数组中拿一位数和后一位比较,如果是想从小到大排序,那么就把小的那一位放到前面,大的放在后面,简单来说就是交换它们的位置,如此反复的交换位置就可以得到排序的效果 */function mp_sort($arr){// 如果只有一位,就没有必要比较原创 2016-08-30 09:56:54 · 396 阅读 · 0 评论 -
静态方法和实例化方法的区别
静态方法的调用,是类名后直接加静态方法即可。实例方法必须将类实例化后,用实例调用该实例方法。静态方法,只能调用类中的其他静态属性和静态方法,不能调用类中的非静态属性和非静态方法。实例方法,可以调用静态属性和静态方法,也可以调用实例属性和实例方法。静态方法是属于类的必须由类来调用,实例方法是属于实例的必须实例化类后,用类的实例调用。原创 2016-08-26 10:30:34 · 2393 阅读 · 0 评论 -
用php打印出前一天的时间,格式是 2016-8-20
废话不说了,直接上代码<?php print date('Y-n-d',time()-24*3600); print date('Y-n-d',strtotime("-1 days"));?>m --打印出的时间格式为 2016-08-20n --打印出的时间格式为 2016-8-20原创 2016-09-05 08:25:21 · 2028 阅读 · 0 评论 -
猴子当大王
一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。?1234567891011121314151617fun原创 2016-08-25 14:34:30 · 496 阅读 · 0 评论 -
获取两个时期之间相差天数
class Dtime{ //获取两个日期相差天数 1 function get_days($date1, $date2) { $time1 = strtotime($date1); $time2 = strtotime($date2); return ($time2-$time1)/86400; }原创 2016-08-25 07:26:22 · 684 阅读 · 0 评论 -
获取包含中英文的字符串的自然长度
/** * 获取包含中英文的字符串的自然长度 * @author spc * @param str $str 要检查长度的 字符串 * @param encoding 参数为字符编码。如果省略,则使用内部字符编码 */$str = '测试asd516';echo strlen($str);echo "";echo mb_strlen($str,原创 2016-08-25 07:14:10 · 1195 阅读 · 0 评论 -
session与cookie的区别
1、cookie是存储在客户端的浏览器中用来跟踪和识别用户的会话控制,可以实现多页面传,session数据放在服务器上。2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session。3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 考虑到减轻服务器性能方面,应当使用COO原创 2016-08-24 16:36:38 · 287 阅读 · 0 评论 -
HTTP中的几个状态码
200 正常;请求已完成。 401 当前请求需要用户验证。403 服务器已经理解请求,但是拒绝执行它。404 找不到 — 服务器找不到给定的资源;文档不存在。 500 内部错误 — 因为意外情况,服务器不能完成请求。 501 服务器不支持当前请求所需要的某个功能。502 作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。503 无原创 2016-08-20 14:31:39 · 435 阅读 · 0 评论 -
post和get的区别?
1. get是从服务器上获取数据,post是向服务器传送数据。2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。3. 对于get方式,服务器端用Request.Quer原创 2016-09-12 08:36:41 · 395 阅读 · 0 评论 -
mysql中char与varchar的区别,以及varchar(50)中50代表什么?
char是一种固定长度的类型,varchar则是一种可变长度的类型,它们的区别是:char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉)在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节).原创 2016-08-20 14:56:23 · 5869 阅读 · 0 评论 -
memcache的原理?是否能存入2M的value?
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。 Memcache是danga的一个项目,最早是LiveJournal 服务的,最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的原创 2016-08-20 14:44:43 · 1750 阅读 · 1 评论 -
Redis和Memcache的区别
1、 Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等。2、Redis不仅仅支持简单的key类型的数据,同时还提供list,set,hash等数据结构的存储。3、虚拟内存--Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘4、过期策略--memcache在set时就指定,例如set原创 2016-08-20 14:42:25 · 392 阅读 · 0 评论 -
isset()与empty()区别
他们的共同点: 都可以判定一个变量是否为空; 都返回boolean类型,即true或false。isset()用来检测变量是否设置,只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 N原创 2016-08-20 14:38:37 · 940 阅读 · 0 评论 -
PHP中echo,print,print_r的区别?
print 是打印字符串print_r 则是打印复合类型 如数组 对象等在PHP中的执行速率从快到慢为:echo(), print(), print_r()echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print() 只能打印出简单类型变量的值(如int,string) print_r()原创 2016-09-12 07:37:56 · 3221 阅读 · 1 评论