PHP基础面试基础-2

11. 常量分为系统内置常量和自定义常量。请说出最常见的几个系统内置常量?

echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php 

echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D:\www\ 

echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,结果:D:\ 

__LINE__  文件中的当前行号

12. 如果定义了两个相同的常量,前者和后者哪个起作用?

前者起作用,因为常量一旦定义就不能被重新定义或者取消定义。

13. 常量和变量有哪些区别?

 1)常量前没有$符号;

 2)常量只能通过define()定义,而不能通过赋值语句定义;

 3)常量可以在任何地方定义和访问,而变量有全局和局部之分;

扫描二维码关注公众号,回复: 4132082 查看本文章

 4)常量一旦定义就不能被重新定义或者取消定义,而变量而通过赋值方式重新定义;

 5)常量的值只能是标量数据,而变量的数据库类型有8种原始数据类型。

14. PHP中常用的几个预定义的全局数组变量是哪些?

 $_POST, $_GET, $_REQUEST, $_SESSION, $_COOKIE, $_FILES,$_SERVER,

 $_ENV,  $GLOBALS

15. 在实际开发中,常量最常用于哪些地方?

 1)连接数据库的信息定义成常量,如数据库服务器的用户名、密码、数据库名、主机名;

 2)将站点的部分路径定义成常量,如web绝对路径,smarty的安装路径,model、view或者controller的文件夹路径;

 3)网站的公共信息,如网站名称,网站关键词等信息。

16. 函数的优越性有哪些?

提高函数的可维护性、软件可靠性、程序可重用性、程序开发效率、

17. 如何定义一个函数?函数名区分大小写吗?

 1)使用 function 关键字;

2)函数命名规则和变量一样,以字母或者下划线开头,而不能以数字开头;

 3)函数名不区分大小写;

 4)函数名不可以使用已经声明过的或者系统自建的函数名称。

18. 什么是变量的能见度 或者 说是变量作用域?

就是变量在程序中的可作用范围。根据变量的能见度,变量分为局部变量和全局变量。

19. 什么是局部变量和全局变量?函数内是否可以直接调用全局变量?

局部变量是函数内部定义的变量,其作用域是所在的函数。如果函数外还有一个跟局部变量名字一样的变量,

 程序会认为它们两个是完全不同的两个变量。当退出函数的时候,其中的局部变量就同时被清除。

 全局变量是定义在所有函数以外的变量,其作用域是整个php文件,但是在用户自定义的函数内部是无法使用的。

 如果一定要在用户自定义的函数内部使用全局变量,那么就需要使用global关键字声明。

 也就是说如果在函数内的变量前加上golbal来修饰,那么函数内部就可以访问到这个全局变量,

 不仅可以利用这个全局变量进行运算而且可以对这个全局变量进行重新赋值。

 全局变量还可以使用 $GLOBALS['var'] 来调用。

20. global关键词如何使用?预定义的全局变量数组$GLOBALS如何使用?(重点)

1),<?PHP

$a = 1;

$b = 2;

function Sum()

{

    global $a, $b; //在里面声明为全局变量

    $b = $a + $b;

}

Sum();

echo $b;

?>

结果: 3

如果没有全局变量global在方法内是不能获得$a,$b值的,所以在方法里面想用外面的变量就

需要先声明这个变量为全局变量,这样就可以使用了,很方便吧。

2),$GLOBALS 超级全局变量数组可以认为是超级全局变量的超集,包含全局作用域内的所有变量。执行下面的代码可以查看$GLOBALS 中所有的变量

print '<pre>';  

print_r ($GLOBALS);  

print '</pre>'; 

(此文是网上整理的,如有侵权,请联系本人,必删)

 

猜你喜欢

转载自blog.csdn.net/j_xx4409/article/details/82290762