首页 >后端开发 >php教程 >php简单面试题小结

php简单面试题小结

小云云
小云云原创
2018-03-03 13:05:072874浏览

本文主要和大家分享php简单面试题小结,希望能帮助到大家。

1 . echo 、print、print_r 的区别:

  1. echo 是 php 语句,可以输出一个或者多个字符串,无返回值。

  2. print、print_r 是函数,有返回值。

  3. print() 只能打印出简单类型变量的值(如 int,string) ,print_r()可以打印出复杂类型变量的值(如数组,对象) ,echo 输出一个或者多个字符串

2 . 魔术常量

名称 含义
__LINE__ 文件中的当前行号。
__FILE__ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
__DIR__ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。
__FUNCTION__ 函数名称
__CLASS__ 类的名称
__TRAIT__ Trait 的名字,Trait 名包括其被声明的作用区域(例如 Foo\Bar)。
__METHOD__ 类的方法名
__NAMESPACE__ 当前命名空间的名称(区分大小写)。

3 .

1 . echo 、print、print_r 的区别:

  1. echo 是 php 语句,可以输出一个或者多个字符串,无返回值。

  2. print、print_r 是函数,有返回值。

  3. print() 只能打印出简单类型变量的值(如 int,string) ,print_r()可以打印出复杂类型变量的值(如数组,对象) ,echo 输出一个或者多个字符串

2 . 魔术常量

名称 含义
__LINE__ 文件中的当前行号。
__FILE__ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
__DIR__ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。
__FUNCTION__ 函数名称
__CLASS__ 类的名称
__TRAIT__ Trait 的名字,Trait 名包括其被声明的作用区域(例如 Foo\Bar)。
__METHOD__ 类的方法名
__NAMESPACE__ 当前命名空间的名称(区分大小写)。

3 .get和post的区别

1.get和post都是从表单中像数据库中提交数据的两种方式,其中get的提交数据时,会把相关数据信息显示在url中,其中传递的值和表单中的各个字段一一对应。而post是通过http post机制,将表单内各个字段与其内容放置在HTML header内一起传送到action属性所指的URL地址。用户看不到这个过程。

2.get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。

3.安全性能方面显然post更好。但执行效率上get更好。

4. session和cookie的区别

1.cookie数据是存放在客户端的浏览器上,session数据放在服务器上。

2.cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie解析从而获取用户信息。

3.session会在一定时间内保存在服务器上。当访问增多,会比较占用服务器的性能,如果考虑到要减轻服务器性能方面,应该使用cookie。

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

关于会话机制的具体详解,参考了一位博主的一篇博客http://blog.csdn.net/fangaoxin/article/details/6952954/感觉很详细,感兴趣的同学可以好好参考一下。

5.数据库中的事务是什么?

事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:
原子性
事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。
一致性
事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。
隔离性
由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。
持久性
事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。

begin 开始一个事务

rollback事务回滚

commit事务确认

注:rollback和commit不能并列使用,当同时使用时,只有前面一个生效    

MYSQL默认是自动提交的       可以通过set autocommit=0 来设置 禁止自动提交         可以通过set autocommit=1 来设置 开启自动提交

6.关于PHP打印日期

<?php
echo date(&#39;Y-m-d H:i:s&#39;,strtotime(&#39;-1day&#39;));//前一天
echo‘<br>’;
echo date('Y-m-d H:i:s',strtotime('-1week'));//前一周
echo'<br>';
echo date('Y-m-d H:i:s');//现在的时间
echo'<br>'
echo date('Y-m-d H:i:s',strtotime('next Monday'));//下一个星期一
echo'<br>';
echo date('Y-m-d H:i:s',strtotime('last Monday'));//上一个星期一
echo "现在的时间是:".date(h:i:s a);//a-小写的上午和午后(am 或pm)
?>

时间差的计算

<?php
$startdate =strtotime("2012-01-01");
$enddate=strtotime("2012-02-04");
$days=round(($enddate-$startdate)/86400)+1;
echo $days;
?>

6.能使HTML和PHP分离开的模板

smarty ,phptal ,template、PHPlib Template、FastTemplate

相关推荐:

PHP面试题之算法题

8道php面试题反应你对php了解程度

php面试题中笔试题目的汇总

以上是php简单面试题小结的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn