php 基础知识 常见面试题

1、echo、print_r、print、var_dump之间的区别

* echo、print是php语句,var_dump和print_r是函数
* echo 输出一个或多个字符串,中间以逗号隔开,没有返回值是语言结构而不是真正的函数,因此不能作为表达式的一部分使用
* print也是php的一个关键字,有返回值 只能打印出简单类型变量的值(如int,string),如果字符串显示成功则返回true,否则返回false
* print_r 可以打印出复杂类型变量的值(如数组、对象)以列表的形式显示,并以array、object开头,但print_r输出布尔值和NULL的结果没有意义,因为都是打印"
",因此var_dump()函数更适合调试
* var_dump() 判断一个变量的类型和长度,并输出变量的数值

2HTTP状态码分类:

  • 1** - 信息,服务器收到的请求,需要请求者继续执行操作
  • 2** - 成功,操作被成功接收并处理
  • 3** - 重定向,需要进一步的操作以完成请求
  • 4** - 客户端错误,请求包含语法错误或者无法完成请求
  • 5** 服务器错误,服务器在处理请求的过程 中发生了错误

3、优化数据库的方法

  • 选取最适用的字段属性,尽可能减少定义字段宽度,尽量把字段设置NOTNULL,例如'省份'、'性别'最好适用ENUM
  • 使用连接(JOIN)来代替子查询
  • 适用联合(UNION)来代替手动创建的临时表
  • 事务处理
  • 锁定表、优化事务处理
  • 适用外键,优化锁定表
  • 建立索引
  • 优化查询语句 

4、常用的超全局变量(8个)

  • $_GET ----->get传送方式
  • $_POST ----->post传送方式
  • $_REQUEST ----->可以接收到get和post两种方式的值

  • $GLOBALS ----->所有的变量都放在里面
  • $_FILE ----->上传文件使用
  • $_SERVER ----->系统环境变量

  • $_SESSION ----->会话控制的时候会用到
  • $_COOKIE ----->会话控制的时候会用到

5 用PHP打印出前一天的时间格式是

  echo date('Y-m-d H:i:s', strtotime('-1 day'));

6 实现中文字串截取无乱码的方法。

  mb_substr()

7 如何修改SESSION的生存时间

  $lifeTime = 24 * 3600; 
  session_set_cookie_params($lifeTime); 

8.请简述项目中优化sql语句执行效率的方法,从哪些方面,sql语句性能如何分析?

  (1)选择最有效率的表名顺序
  (2)WHERE子句中的连接顺序
  (3)SELECT子句中避免使用‘*'
  (4)用Where子句替换HAVING子句
  (5)通过内部函数提高SQL效率
  (6)避免在索引列上使用计算。
  (7)提高GROUP BY 语句的效率, 可以通过将不需要的记录在GROUP BY 之前过滤掉。
 
9.防止SQL注射漏洞一般用
  __addslashes___函数

10 以下程序,变量str什么值的情况下输入111?

if( ! $str ) { echo 111; }

在$str值为:0,’0′,false,null,”"

 
原文地址:https://www.cnblogs.com/zhanghanwen16/p/8520897.html