1、Ajax跨域
json:数据交换格式,{"name":"wangtianle"}
jsonp:非官方跨域数据交换协议,可以通过动态添加<script/>标签来调用服务器提供的js脚本
jsonp例子:
(1)前端页面 test.html
<!doctype html> <html> <head> <meta charset="utf-8"> <title>test</title> <script src="jquery-1.9.1.min.js"></script> <script src="ajax.js"></script> </head> <body> </body> </html>
(2)test.html引用的脚本ajax.js
$.ajax({ type : "post", url : "ajax.php", dataType : "jsonp", jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback) jsonpCallback:"success_jsonpCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名 success : function(json){ alert('success, json return value=' + json ); }, error:function(){ alert('fail'); } });
(3)后端ajax.php:
<?php $data = "......."; $callback = $_GET['callback']; var_dump($callback); echo $callback.'('.json_encode($data).')'; exit; ?>
2、PHP模板引擎:分离PHP与HTML ,有smarty组件
3、论坛无限分类的实现原理:
在DB的表中设计一个父字段即可
4、GD库:PHP处理图像的扩展库
5、mb_strlen($str); 计算字符串的长度
mb_substr($str, $i, 10, $encoding); 获取$str中,从$i开始,长度为10的部分字符串
6、php_APC:Alternative PHP Cache 可选的PHP缓存
7、php开发框架:ThinkPHP, Laravel
8、php多线程:TSRM机制,复制空间(全局变量、局部变量),类似于java中的ThreadLocal。
需要安装pthread扩展。
Thread类有run、start、join、kill、isRunning等方法
9、接口:interface定义,class实现时,用implements关键字 (与java类似)
抽象类:abstract class定义,class实现是,用extends关键字 (与java类似)
访问控制:对属性或方法的访问控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。被定义为公有的类成员可以在任何地方被访问。被定义为受保护的类成员则可以被其自身以及其子类和父类访问。被定义为私有的类成员则只能被其定义所在的类访问。
10、Redis持久化:
RDB方式:定期快照; AOF方式:记录写操作,重启时执行
11、TCP三次握手和四次挥手
12、sort:对数组的值进行从低到高排序
ksort:对数组的键名进行从低到高排序
<?php $fruits = array("lemon", "orange", "banana", "apple"); sort($fruits); foreach ($fruits as $key => $val) { echo "fruits[" . $key . "] = " . $val . " "; } ?>
以上示例输出的内容:
fruits[0] = apple fruits[1] = banana fruits[2] = lemon fruits[3] = orange
13、Memcache:分布式key-value DB,哈希表,两阶段哈希(two stage hash)结构
14、排序算法
冒泡排序:稳定排序
选择排序:不稳定
插入排序:稳定
快速排序:不稳定。
基本思路:(1)先从数列中取出一个数作为基准数;(2)分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边(3)再对左右区间重复第二步,直到各区间只有一个数