PHP头条
热点:

PHP常见问题,


1 include require include_once require_once 的 区别?

处理失败方式不同:
require 失败时会产生一个致命级别错误,并停止程序运行。
include 失败时只产生一个警告级别错误,程序继续运行。
include_once/require_once 和 include/require 处理错误方式一样,
唯一区别在于当所包含的文件代码已经存在时候,不在包含。

2 PHP 的垃圾收集机制是怎样的?

PHP 可以自动进行内存管理,清除不再需要的对象。
PHP 使用了引用计数(reference counting)这种单纯的垃圾回收(garbage collection)机制。每个
对象都内含一个引用计数器,每个 reference 连接到对象,计数器加 1。当 reference 离开生
存空间或被设为 NULL,计数器减 1。当某个对象的引用计数器为零时,PHP 知道你将不再需
要使用这个对象,释放其所占的内存空间。

3 echo(),print(),print_r() 的区别?

echo, print 是 PHP 语句 print_r 是函数,语句没有返回值,函数可以有返回值(即便没有用)
print 只能打印出简单类型变量的值(如 int,string)
print_r 可以打印出复杂类型变量的值(如数组,对象)
echo – 输出一个或者多个字符串
print –输出一个字符串
print_r – 打印关于变量的易于理解的信息。

4 用 用 PHP 端 写出显示客户端 IP 器 与服务器 IP 的代码?

客户端 IP:SERVER[REMOTEADDR]IP_SERVER[“SERVER_ADDR”]

5 检测一个变量是否有设置的函数? 是否为空的函数是?

isset 检测一个变量是否设置
empty 检测是否为空
注意二者的区别,如果 变量 是非空或非零的值,则 empty() 返回 FALSE。换句话说,”“、
0、”0”、NULL、FALSE、array() 以及没有任何属性的对象都将被认为是空的。
isset 是检测变量是否设置/定义,
false = isset(没有定义) = isset(null)
empty 是检测已定义的变量的值是否为空。(非空或者非 0)
true = empty(”) = empty(0) = empty(“0”) = empty(null) = empty(false) = empty(array)

6 接口和抽象类的区别是什么?

抽象类是一种不能被实例化的类,只能作为其他类的父类来使用。抽象类是通过关键字
abstract 来声明的。
抽象类与普通类相似,都包含成员变量和成员方法,两者的区别在于,抽象类中至少要包含
一个抽象方法,抽象方法没有方法体,该方法天生就是要被子类重写的。
抽象方法的格式为:abstract function abstractMethod();
接口是通过 interface 关键字来声明的,接口中的成员常量和方法都是 public 的,方法可
以不写关键字 public,接口中的方法也是没有方法体。接口中的方法也天生就是要被子类实
现的。
抽象类和接口实现的功能十分相似,最大的不同是接口能实现多继承。在应用中选择抽象类
还是接口要看具体实现。
子类继承抽象类使用 extends,子类实现接口使用 implements。

www.phpzy.comtrue/php/19324.htmlTechArticlePHP常见问题, 1 include require include_once require_once 的 区别? 处理失败方式不同: require 失败时会产生一个致命级别错误,并停止程序运行。 include 失败时只产生一个警告级别错误,程序...

相关文章

    暂无相关文章

PHP之友评论

今天推荐