PHP面试要点记录,基础知识很重要易错

白癜风有什么症状图 http://pf.39.net/bdfyy/bdfrczy/190210/6858103.html

总结PHP基础知识面试要点,记录下来背会面试很轻松。

isset()、empty()和is_null的区别

这三个函数在实际应用中很常见,也很容易混淆。三个函数都是检测变量的,那既然是检测变量还需要三个吗?

还真需要!isset()是判断变量是否设置并且不为null,empty()是判断变量是否为空,而is_null是判断变量是否为null。

当isset()给定一个参数时,不论他是一个空字符串,还是设置为true,还是数值为0,亦或者有值,isset()都会返回为真,为假的信号只有变量设置为null或者是没定义就会返回假。所以isset()函数表达式,应该是如果设置了值为真就是为真。这和empty()略有不同。

empty()是如果变量为空,或者是为0,null都是为空,只有给定变量的值,才会认定有值。

is_null()则是只判断变量是否为null,即使变量为空字符串,或者为0,或者为false都属于有值状态,只有null是无值状态。

include和require,以及include_once和require_once的区别

这三位函数都是PHP加载文件的函数,有时候一个PHP文件的内容是共用的,或者是为了好做分离,单独写成一个文件,如果需要就可以在相应的PHP文件中加载。

比如说所有的前端页面都需要一个共用的头部和尾部,中间的内容可以随意替换,那么在每个文件中只要用上面函数加载之前写过的头部和尾部文件,就不用重复开发了,减少工作量,还能使得代码看起来赶紧整洁。

既然都是加载文件作用的函数,那它们二位有什么区别呢?老生常谈,既然设置了,那就有对应的作用。

定义:include函数加载文件,如果出现错误,只会产生警告,并不会完全不执行;而require则会发生一个致命错误,致使文件脚本不再继续运行。

那如果上面二位大哥是这么个区别的话,看相应后面include_once和require_once的区别应该不大。

定义:once和one感觉差不多,所以include_once和require_once其实就是判断这类文件是否已经在当前文件中加载过了没,如果没有加载,如果有就不加载了。

相应的既然大家有所区别,作用的地方自然不一样了。include更多放在流程控制处,即使文件不存在,也不影响执行;require更多的放在头部,执行关键文件,确保程序的完整性和安全性。




转载请注明:http://www.aierlanlan.com/rzfs/2176.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了