首页 > 代码库 > 面试题---PHP

面试题---PHP

 1、PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。

 2、echo,print和print_r的区别:

  echo和print都可以做输出,不同的是,echo不是函数,没有返回值,而print是一个函数有返回值,所以相对而言如果只是输出 echo 会更快,而print_r通常用于打印变量的相关信息,通常在调试中使用。
  print 是打印字符串
  print_r 则是打印复合类型 如数组 对象
3、require和include的区别:
  require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误;需要 一定要有;
  include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误;包括 没有也可以。
4、
sort,asort和ksort的区别:

  sort只依据值从小到大排序,键值不参与排序

  asort依据值排序,键值参与排序

  ksort依据键值排序,值参与排序

5、session和cookie的区别:

  cookie数据存放在客户的浏览器上,session数据放在服务器上;

  cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
   考虑到安全应当使用session;

  session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
   考虑到减轻服务器性能方面,应当使用COOKIE;

  单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie;

  建议:   将登陆信息等重要信息存放为SESSION,  其他信息如果需要保留,可以放在COOKIE中。

6、@符号的意思:
  @表示@符号后的语句如果有错误会忽略,不会提示,因为php运行时会有些错误,一些提醒的错误,如果用@那么这条语句有错误的也不会有提示
7、常见的状态码
  200 – 服务器成功返回网页 
  404 – 请求的网页不存在  
  503 – 服务器暂时不可用
  500 – 服务器内部错误 
  •    401 — 未授权
8、Memcache的工作原理hash表
  Memcache 的工作就是在专门的机器的内存里维护一张巨大的hash表 来储存经常被读写的一些数组与文件,从而极大的提高网站的运行效率
9、XHTML与HTML的区别
  XHTML是HTML像XML的一个过渡语言,它比HTML严谨性会高点,然后基本语言都还是沿用的HTML的标签,只不过废除了部分表现层的标签,同事在标准上要求高了点比如标签的严格嵌套,标签结束等等
10、析构函数和构造函数:
  __construct( )是创建对象时调用,__destruct是销毁对象时调用
11、优化Mysql数据库的方法:
  创建索引、复合索引、索引不会包含有NULL值的列、使用短索引、排序的索引问题、like语句操作、不要在列上进行运算、不使用NOT IN和<>操作、优化你的MySQL查询缓存、利用LIMIT 1取得唯一行、用EXPLAIN使你的SELECT查询更加清晰、 保证连接的索引是相同的类型、不要使用BY RAND()命令、 尽量避免SELECT *命令、从PROCEDURE ANALYSE()中获得建议、将IP地址存储为无符号整型、使用连接(JOIN)来代替子查询。
12、char、varchar和nvarchar的区别
   char是定长的;
   nvarchar(n):包含 n 个字符的可变长度 Unicode 字符数据;
   varchar:
长度为 n 个字节的可变长度且非 Unicode 的字符数据。
13、建表的三范式:
  第一范式(1NF)要求信息必须是原子级的,信息不可再分。
  第二范式(2NF)要求数据符合第一范式的标准,另外数据元素被组织成组,消除了冗余的数据。每个组包含一个主键和非关键数据,非关键数据必须在功能上依赖于主键。
  第三范式(3NF)要求数据元素符合第二范式的标准,同时非关键数据不能包含依赖性。

面试题---PHP