您现在的位置是:首页 > 个人日记个人日记

关于PHP面试的小问题01

2019-03-08【个人日记】人已围观

简介关于面试的一些小问题,

一,关于单一号和双引号的区别。
1,双引号可以解析变量,单引号不能解析变量
2,单引号比双引号运行快
二,常用的八个超全局变量及用处
1,$_GET->get传送方式
2,$_POST->post传送方式
3,$_REQUEST->可以接收到get和post两种方式的值
4,$GLOBALS ->所有的变量都放在里面
5,$_FILE ->上传文件使用
6,$_SERVER ->系统环境变量
7,$_SESSION ->会话控制的时候会用到
8,$_COOKIE ->会话控制的时候会用到
三,GET和POST区别
1,Get从服务器获取数据,post向服务器传送数据
2,Get传值在url中可见,post在url中不可见
3,Get传值一般在2KB以内,post传值大小可以在php.ini中进行设置
4,get安全性非低,post安全性较高,执行效率却比Post高
四,AJAX有什么优势
ajax是异步传输技术,可以通过javascript实现,也可以通过JQuery框架实现,实现局部刷新,减轻了服务器的压力,也提高了用户体验
五,开发中应该注意哪些安全机制?
1,防远程提交;可以增加验证码和token验证
2,防SQL注入,对特殊代码进行过滤;
3,防止注册机灌水,使用验证码;
六,如何提高程序的运行效率?
1,优化SQL语句,查询语句中尽量不使用select *,用哪个字段查哪个字段;少用子查询可用表连接代替;少用模糊查询;,
2,数据表中创建索引;
3,对程序中经常用到的数据生成缓存;
七,MVC分别指哪三层,有什么优点?
1,MVC三层分别指:业务模型、视图、控制器,由控制器层调用模型处理数据,然后将数据映射到视图层进行显示,
2,优点是:①可以实现代码的重用性,避免产生代码冗余;②M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式
八,echo、print_r、print、var_dump之间的区别
1,echo、print是php语句,var_dump和print_r是函数
2,echo 输出一个或多个字符串,中间以逗号隔开,没有返回值是语言结构而不是真正的函数,因此不能作为表达式的一部分使用
3,print也是php的一个关键字,有返回值 只能打印出简单类型变量的值(如int,string),如果字符串显示成功则返回true,否则返回false
4,print_r 可以打印出复杂类型变量的值(如数组、对象)以列表的形式显示,并以array、object开头,但print_r输出布尔值和NULL的结果没有意义,因为都是打印"\n",因此var_dump()函数更适合调试
5,var_dump() 判断一个变量的类型和长度,并输出变量的数值
八,include和require的区别是什么?
1,require是无条件包含,也就是如果一个流程里加入require,无论条件成立与否都会先执行require,当文件不存在或者无法打开的时候,会提示错误,并且会终止程序执行
2,include有返回值,而require没有(可能因为如此require的速度比include快),如果被包含的文件不存在的化,那么会提示一个错误,但是程序会继续执行下去
九, PHP处理字符串的常用函数?
1,trim()移除字符串两侧的空白字符和其他字符;
2,substr_replace()把字符串的一部分替换为另一个字符串;
3,substr_count()计算子串在字符串中出现的次数;
4,substr()返回字符串的一部分;
5,strtolower()把字符串转换为小写字母;
6,strtoupper()把字符串转换为大写字母;
7,strtr()转换字符串中特定的字符;
8,strrchr()查找字符串在另一个字符串中最后一次出现;
9,strstr()查找字符串在另一字符串中的第一次出现(对大小写敏感),
10,strrev()反转字符串;
11,strlen()返回字符串的长度;
12,str_replace()替换字符串中的一些字符(对大小写敏感);
13,print()输出一个或多个字符串;
14,explode()把字符串打散为数组;
15,is_string()检测变量是否是字符串;
16,strip_tags()从一个字符串中去除HTML标签;
17,mb_substr()用来截中文与英文的函数
九, PHP处理时间的常用函数?
1,date_default_timezone_get()返回默认时区。
2,date_default_timezone_set()设置默认时区。,
3,date()格式化本地时间/日期。
4,getdate()返回日期/时间信息。
5,gettimeofday()返回当前时间信息。
6,microtime()返回当前时间的微秒数。
7,mktime()返回一个日期的 Unix时间戳。
8,strtotime()将任何英文文本的日期或时间描述解析为 Unix时间戳
9,time()返回当前时间的 Unix时间戳。
十, SQL语句优化有哪些方法?
1,Where子句中:where表之间的连接必须写在其他Where条件之前,那些可以过滤掉最大数量记录的条件必须写在Where子句的末尾.HAVING最后。
2,用EXISTS替代IN、用NOT EXISTS替代NOT IN。
3, 避免在索引列上使用计算
4,避免在索引列上使用IS NULL和IS NOT NULL
5,对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。  
6,应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描
7,应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描

Tags:PHP   PHP函数   面试   PHP面试   巴斯手制加盟   巴斯手制

很赞哦! ()

文章评论

    共有条评论来说两句吧...

    用户名:

    验证码:

站点信息

  • 建站时间:2018-7-7
  • 网站程序:帝国CMS7.5
  • 文章统计38篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 微信公众号:扫描二维码,关注我们