php面试zol

本文于 2764 天之前发表,文中内容可能已经过时。

php zol

总结一下常见的php问题,方便自己每天查看 自己不会的东西多也不要急躁,每天进步一点点就可以了

有些东西需要用自己的话描述出来的,这个需要自己组织一下语言表达出来。前提是自己要理解这些内容。

html部分,这个可以通过牛客网的资料进行专项练习
JavaScript部分,这个可以通过牛客网的资料进行专项练习

  1. 写一个函数可以删除数组中重复的部分
  2. 打开a.html五秒后跳转到b.html页面
  3. js中前进和后退的方法

linux部分,这个需要总结

php基础,这个部分需要经常的记忆和分析总结

  1. mb_strlen() mb_substr()
  2. get和post默认的限制大小
  3. 输出前一天的日期
  4. 不使用第三个变量,交换两个变量的值
  5. 1234567890输出为1,234,567,890的形式
  6. 将字符www.baidu.com变成moc.udiab的形式
  7. php脚本的名称在预定义变量中,链接到当前页面URL的记录在预定义变量
  8. echo ((8)%(-3)); //输出结果
  9. count(‘abc’);
  10. 写一个数组对二维数组进行排序
  11. 写出三个方法获取全路径的文件扩展名

1.描述一下cookie和session的工作原理,跨域的解决方案

2.数据库优化的步骤

3.数据库的读写分离,以及分表实现

4.简述一下HTTP协议的内容,还了解其他的协议吗,websocket协议

5.队列在项目中的使用

6.缓存在项目中的使用

7.php的超全局变量都是哪些 9个

8.nginx apache优化方法

9.如何去测试服务器或者网站性能

10.阅读过框架的源码没有,TP5的源码分析

11.Include require include_once require_once

12.HEREDOC介绍

13.描述一下php的魔术方法,以及它们的作用

14.mysql数据类型的区别,char varchar

1
2
3
1. mysql_fetch_row() mysql_fetch_array()的区别?
2. php.ini allow_call_time_pass_reference 是否启用函数时强制参数被按照引用传递
3.

获取一个数据表的自增id

  1. show TABLE STATUS; auto_increment的值
  2. select max(id) + 1 from table;
  3. 如果是刚插入的数据,可以使用 last_insert_id() + 1;
1
2
3
4
mysql条件查询
select case when a > b then a else b end,
case when b > c then b else c end
from table;

php访问数据库的几个步骤

  1. 链接mysql服务器 mysql_connect(‘host’,’user’,’pwd’);
  2. 选择数据库 mysql_select_db(‘db’);
  3. 设置数据库字符集 mysql_quert(‘set names utf8’);
  4. 执行sql语句 mysql_query(‘’);
  5. 处理获取的结果
  6. 关闭结果集,释放资源 mysql_free_result($result);
  7. 关闭数据库和服务器的链接 mysql_close($link);

utf-8编码是可变的长编码,对于中文而言,一个字符使用3个字节来存储