PHP面试基础题(二)

1.include和required与有什么区别?

答:include遇到错误会抛出警告,跳过错误语句,继续执行下面的代码;required在被加载的时候,遇到错误会抛出错误,停止执行接下来的代码。为了只加载一次,建议使用required_once。

2.传值和传引用有什么区别?

答:传值是将一个变量的值赋予另一个变量,当其中一个变量改变并不会影响到另一个变量的值。传引用又叫传递引用,这是对原始变量在计算机中内存的改变,所以当使用传递引用,改变其中一个变量的值,原始变量的值将发生变化。所以在传递大量数据的时候,建议使用传引用,减少性能开销。

3.PHP获取图像尺寸大小的方法?

答:getImageSize( ) 获取图片尺寸、imageX() 获取图片宽度、imageY() 获取图片高度。

4.常用的数组方法

答:in_array() 判断数组中是否有某个元素、implode() 将数组按照一定规律分解、json_encode() 将数组转换成Json格式、array_push() 向数组尾部插入一个或多个元素、array_merge() 合并数组、array_unique() 去除数组中重复的值,只对一维数组有效。

5.PHP中魔术方法有哪几个?

答:__Construct() 实例化对象时自动调用、__destruct()销毁对象或脚本执行结束时自动调用、__call() 调用的对象不存在时执行的函数、__get() 获取对象不存在的属性时执行的函数、__set() 设置对象不存在的属性时执行的函数、__isset() 检测对象的某个属性是否存在、__unset() 销毁对象的某个属性、__toString() 讲对象当做字符串输出、__clone() 克隆对象、__autoload() 实例化对象,当类不存在时,执行此函数自动加载。

6.常见的关系型数据库管理系统有哪些?

答:Oracle、sql Server、mysql、sybase、DB2、Access。

7.主键、外键和索引的区别?

答:定义:主键——唯一标示一条记录,不能重复,不允许为空;外键——表的外键是另一表的键,外键可以有重复,也可以为空;索引——该字段可以有一个空值,但没有重复值。

作用:主键——用来保证数据完整性;外键——用来和其他表建立联系;索引——提高查询速度。

8.什么是事务?有何特性?

答:事务是一些列的数据库操作,是数据库应用的基本单位。

特性:1.原子性:即不可分割,事务要么全被执行,要么全不被执行;2.一致性:事务的执行使得数据库从一种状态转变成另一种正确的状态;3.隔离性:在事务正确提交之前,不允许把该事务对数据的任何改变提供给其他事务;4.持久性:事务正确提交之后,其结果将永久保留在数据库中。

9.索引的作用?优缺点是什么?

答:索引就是一种特殊的查询表,数据库的搜索引擎可以利用索引加快对数据的检索。

缺点是减慢了数据的录入速度,同时增加了数据库的尺寸。

10.MySQL的存储引擎,mysiam和innodb的区别?

答:MySiam是非事务的存储引擎,适用于频繁查询的应用。支持表锁,不会出现死锁;适用于小数据、小并发。

INNODB是支持事务的存储引擎,适合插入和更新比较多的应用。支持行锁,适合大数据、高并发。

11.类中如何定义常量?如何在类中调用常量?如何在类外调用常量?

答:常量是不会改变的量,是一个恒值。定义常量使用关键字const。

无论是类里面还是类外面,访问常量不需要实例化对象。

访问常量的格式都是类名+作用域操作符,即:类名::常量名。

12:$this、self、parent这三个关键词分别代表什么?在哪些时候使用?

答:$this 当前对象、self 当前类、 parent 当前类的父类。

$this在当前类中使用,使用->调用属性和方法。self也是在当前类中使用,不过要使用::调用。parent在类中使用。

你可能感兴趣的:(PHP面试基础题(二))