1. echo count(strlen('howlongabcd'));echo "<hr/>"; //1
2. php.ini中屏蔽错误的配置项为显示错误 display_errors = Off 临时屏蔽error_reporting(0) 报告所有错误error_reporting(E_ALL)
3. 将一个字符串以空格分开
$string = 'my name is fazel'; $re = explode(' ',$string);
4. php session的数据默认储存在哪里?
session.save_path指定的路径下
5. 单索引和联合索引的区别?
一般我们先确定业务中需不需要建立索引,索引一般用来优化mysql查询速度,一般对于where、orderby、groupby后面字段建立索引 对于select * from student where name=‘zhangsna’ and age=18 这条语句来说我们应该选择建立单列索引,并且只对name建立,age建立索引没多大的意义,为什么不采用联合索引呢?因为一个学校重名的名字毕竟很少,name字段就可以做到精确查找了,如果建立联合索引维护成本要大些,索引间也会大很多
复合索引例子 create table test( a int, b int, c int,KEY a(a,b,c));
6. TP3和TP5的区别?
路由区别,在tp3中对真是路径定义的路由规则,真是路径和路由规则都可以访问到页面,但是在tp5中不行,只能路由规则访问
tp5中增加了助手函数,废除了单子目函数;对一些常量的废除IS_POST、IS_GET、IS_AJAX等
命名规范也有很大改动,文件名和目录统一小写+下划线,类名以.php后缀,使用驼峰法命名
模型增加了静态方法,返回数据是经过处理的集合对象
7. empty、isset、is_null区别?
empty()非空非零返回false,‘’,0,null返回是true
isset()变量存在返回true,不存在返回false
is_null() 返回的值是null返回true否则返回false
8. 将一个表中重复数据查询出?
having 指对查询出来的结果再次条件筛选
group by 将重复的数据分为一组 常与聚合函数一起使用
select name from user group by name having count(*) > 1
select * from user where email in (select email from user group by email having count(*) > 1) order by email
9. 数据库的优化?
表字段属性 让字段的宽度越小查询越快,尽量多用定长char少用varchar,尽量把字段设置为not null
建立索引 尤其是在where group by orderby后面的字段要建立索引,也尽量少建立索引,防止写入过慢
优化查询语句 这个就要看程序员的功力了
10. 页面优化?
不要使用图像来表示文本,虽然图像更美观更有吸引力,但是加载速度很慢
不要包含不必要的 JavaScript 代码,尽可能将其外部化,压缩和缩小 JavaScript 文件
尽可能避免使用表格
11. php里,为什么0 == 'abc'是成立的?
因为在php机制里面 数字和字符串进行比较的时候会先将字符串转变为数字
原因是在PHP中变量是以C语言的结构体来存储的,空字符串、NULL、false都是以值为0存储的
12. php里,unset的原理?
当你 unset 一个变量,只是断开了变量名和变量内容之间的引用。这并不意味着变量内容被销毁了
$a = 'adsd';
$b = &$a;
unset($a);
var_dump($b); //absd
var_dump($a) //notice错误
13. 如何提高并发?
页面静态化
分库分表
部署集群
负载均衡
异步解耦,异步读取,异步编程
14. 如何添加session生存时间
修改php.ini中session.gc_maxlifetime = 1440
15. 如何不使用submit按钮来提交表单?
<button onclick='return submitForm()'></button>
<form method='post' onsubmit='return submitForm()'>
<a href='javascript:;' onclick='submitForm()'>提交</a>
ajax技术get和post提交
16. 如何解决跨域问题?(同源策略)
使用php做代理,请求第三方接口,ajax再请求本地的php代理页面
<script>标签没有跨域限制,使用js的src属性发送请求,回调函数来接收第三方数据
2. php.ini中屏蔽错误的配置项为显示错误 display_errors = Off 临时屏蔽error_reporting(0) 报告所有错误error_reporting(E_ALL)
3. 将一个字符串以空格分开
$string = 'my name is fazel'; $re = explode(' ',$string);
4. php session的数据默认储存在哪里?
session.save_path指定的路径下
5. 单索引和联合索引的区别?
一般我们先确定业务中需不需要建立索引,索引一般用来优化mysql查询速度,一般对于where、orderby、groupby后面字段建立索引 对于select * from student where name=‘zhangsna’ and age=18 这条语句来说我们应该选择建立单列索引,并且只对name建立,age建立索引没多大的意义,为什么不采用联合索引呢?因为一个学校重名的名字毕竟很少,name字段就可以做到精确查找了,如果建立联合索引维护成本要大些,索引间也会大很多
复合索引例子 create table test( a int, b int, c int,KEY a(a,b,c));
6. TP3和TP5的区别?
路由区别,在tp3中对真是路径定义的路由规则,真是路径和路由规则都可以访问到页面,但是在tp5中不行,只能路由规则访问
tp5中增加了助手函数,废除了单子目函数;对一些常量的废除IS_POST、IS_GET、IS_AJAX等
命名规范也有很大改动,文件名和目录统一小写+下划线,类名以.php后缀,使用驼峰法命名
模型增加了静态方法,返回数据是经过处理的集合对象
7. empty、isset、is_null区别?
empty()非空非零返回false,‘’,0,null返回是true
isset()变量存在返回true,不存在返回false
is_null() 返回的值是null返回true否则返回false
8. 将一个表中重复数据查询出?
having 指对查询出来的结果再次条件筛选
group by 将重复的数据分为一组 常与聚合函数一起使用
select name from user group by name having count(*) > 1
select * from user where email in (select email from user group by email having count(*) > 1) order by email
9. 数据库的优化?
表字段属性 让字段的宽度越小查询越快,尽量多用定长char少用varchar,尽量把字段设置为not null
建立索引 尤其是在where group by orderby后面的字段要建立索引,也尽量少建立索引,防止写入过慢
优化查询语句 这个就要看程序员的功力了
10. 页面优化?
不要使用图像来表示文本,虽然图像更美观更有吸引力,但是加载速度很慢
不要包含不必要的 JavaScript 代码,尽可能将其外部化,压缩和缩小 JavaScript 文件
尽可能避免使用表格
11. php里,为什么0 == 'abc'是成立的?
因为在php机制里面 数字和字符串进行比较的时候会先将字符串转变为数字
原因是在PHP中变量是以C语言的结构体来存储的,空字符串、NULL、false都是以值为0存储的
12. php里,unset的原理?
当你 unset 一个变量,只是断开了变量名和变量内容之间的引用。这并不意味着变量内容被销毁了
$a = 'adsd';
$b = &$a;
unset($a);
var_dump($b); //absd
var_dump($a) //notice错误
13. 如何提高并发?
页面静态化
分库分表
部署集群
负载均衡
异步解耦,异步读取,异步编程
14. 如何添加session生存时间
修改php.ini中session.gc_maxlifetime = 1440
15. 如何不使用submit按钮来提交表单?
<button onclick='return submitForm()'></button>
<form method='post' onsubmit='return submitForm()'>
<a href='javascript:;' onclick='submitForm()'>提交</a>
ajax技术get和post提交
16. 如何解决跨域问题?(同源策略)
使用php做代理,请求第三方接口,ajax再请求本地的php代理页面
<script>标签没有跨域限制,使用js的src属性发送请求,回调函数来接收第三方数据
