PHP面试一战到底
上QQ阅读APP看书,第一时间看更新

3.6 练习

1.PHP中变量的作用域是什么?

答:可以结合3.4节的讲解来说明。

2.如何获取服务器的IP?

答:使用超全局变量的$_SERVER来获取,服务器的IP为$_SERVER['SERVER_ADDR']。

3.如何获取客户端的IP?

答:使用超全局变量的$_SERVER来获取,客户端的IP为$_SERVER['REMOTE_ADDR']。如果客户端使用了代理,可以使用$_SERVER['HTTP_X_FORWARDED_FOR']来获取。注意获取的客户端IP可能存在伪造或篡改,不能百分百地信任。

4.define和const关键字有什么区别?

答:两个关键字都可以定义常量。两者的区别如下:

● 定义时机。const在编译阶段定义常量,define在运行阶段定义常量。

● 大小写敏感。const定义的常量是大小写敏感的,define的第3个参考设置为TRUE可以关闭大小写敏感。

● 命名规则。const的常量命名只能是普通文本,而define允许使用动态表达式的值来命名。

● 效率。const定义的常量示例如下:比define的效率提高一倍。

推荐使用const关键字来定义常量。

(源码文件:ch03/define_vs_const.php)

5.常见的PHP错误级别有哪些?

答:见表3-4。

表3-4 PHP错误级别

6.PHP如何设置错误级别?

答:使用error_reporting或ini_set来设置错误级别,示例如下:

error_reporting(E_ALL);
ini_set('display_errors', '1');