试题知识补充
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.xhtml与HTML的区别
XHTML是HTML像XML的一个过渡语言,它比HTML严谨性会高点,然后基本语言都还是沿用的HTML的标签,只不过废除了部分表现层的标签,同事在标准上要求高了点比如标签的严格嵌套,标签结束等等
9.析构函数和构造函数:
一个是创建对象时调用,一个是销毁对象时调用
10.优化Mysql数据库的方法:
创建索引、复合索引、索引不会包含有NULL值的列、使用短索引、排序的索引问题、like语句操作、不要在列上进行运算、不使用NOT IN和<>操作、优化你的MySQL查询缓存、利用LIMIT 1取得唯一行、用EXPLAIN使你的SELECT查询更加清晰、 保证连接的索引是相同的类型、不要使用BY RAND()命令、 尽量避免SELECT *命令、从PROCEDURE ANALYSE()中获得建议、将IP地址存储为无符号整型、使用连接(JOIN)来代替子查询。
11.char、varchar和nvarchar的区别
char是定长的;
nvarchar(n):包含 n 个字符的可变长度 Unicode 字符数据;
varchar:长度为 n 个字节的可变长度且非 Unicode 的字符数据。
12.建表的三范式:
第一范式(1NF)要求信息必须是原子级的,信息不可再分。
第二范式(2NF)要求数据符合第一范式的标准,另外数据元素被组织成组,消除了冗余的数据。每个组包含一个主键和非关键数据,非关键数据必须在功能上依赖于主键。
第三范式(3NF)要求数据元素符合第二范式的标准,同时非关键数据不能包含依赖性。