2020年PHP⾯试题1
echo、print、print_r、var_dump区别echo和print是语⾔结构、print_r和var_dump是普通函数echo:输出⼀个或多个字符串print:输出字符串print_r:打印关于变量的易于理解的信息var_dump:打印关于变量的易于理解的信息(带类型)2
单引号和双引号的区别双引号可以被分析器解析,单引号则不⾏3
isset和empty的区别isset:检测变量是否已设置并且⾮NULLempty:判断变量是否为空,变量为0/false也会被认为是空;变量不存在,不会产⽣警告4
static、self、$this的区别static:static可以⽤于静态或⾮静态⽅法中,也可以访问类的静态属性、静态⽅法、常量和⾮静态⽅法,但不能访问⾮静态属性self:可以⽤于访问类的静态属性、静态⽅法和常量,但self指向的是当前定义所在的类,这是self的限制$this:指向的是实际调⽤时的对象,也就是说,实际运⾏过程中,谁调⽤了类的属性或⽅法,$this指向的就是哪个对象
但$this不能访问类的静态属性和常量,且$this不能存在于静态⽅法中5
include、require、include_once、require_once的区别require和include⼏乎完全⼀样,除了处理失败的⽅式不同之外
require在出错时产⽣E_COMPILE_ERROR级别的错误
换句话说将导致脚本中⽌⽽include只产⽣警告(E_WARNING),脚本会继续运⾏include_once语句在脚本执⾏期间包含并运⾏指定⽂件
此⾏为和include语句类似,唯⼀区别是如果该⽂件中已经被包含过,则不会再次包含
如同此语句名字暗示的那样,只会包含⼀次6
常⻅数组函数array_count_values—统计数组中所有的值array_flip—交