关于初学者来讲,变量的作用域是它们所驻留的页面。因此, 假如你定义了 $var,页面余下部份就能够接见 $var,然则,别的页面平常不能接见它(除非运用特别的变量)。(引荐进修:PHP编程从入门到通晓)
因为包括文件像它们是原始(包括)剧本的一部份那样事情,所以在 include() 那一行之前定义的变量可供包括文件运用。另外,包括文件内定义的变量可供 include() 那一行以后的父(包括)剧本运用。
当运用你本身定义的函数时,所有这些都将变得不那么显著。这些函数具有它们本身的作用域,这意味着在一个函数内运用的变量不能在其外部运用,在一个函数 外部定义的变量不能在其内部运用。因为这个缘由,函数内部的变量能够具有与其外部的变量雷同的称号,然则它们仍然是完整差别的变量,而且具有差别的值。对 于大多数低级程序员来讲,这是一个使人懵懂的观点。
要转变一个函数内的变量的作用域,能够运用 global 语句。
<?php function function_name() { global $var; } $var = 20; function_name(); // Function call. ?>
在这个示例中,函数内部的 $var 如今与函数外部的 $var 雷同。这意味着变量 $var 已具有一个值20,假如在函数内部转变了这个值,外部的 $var 值也会转变。
避开变量作用域的另一个要领是应用超全局变量:$_GET、$_POST、$_REQUEST 等。这些变量在你的函数内是自动可接见的(因此,它们是超全局变量)。也能够增加元素到 $GLOBALS 数组中,使得能够在函数内运用它们。
也就是说,最好不要在函数内运用全局变量。在设想函数时,应当使它们根据需要接收每一个值作为参数,并根据需要返回任何值。依托函数内的全局变量将使得它们更依赖于上下文,因此不太有效。
常量一旦被声明将能够在全局可见,也就是说,它们能够函数表里运用,然则这仅仅限于一个页面当中(包括我们经由过程include和include_once)包括进来的PHP剧本,然则在其他的页面中就不能运用了。
以上就是php常量的作用域的细致内容,更多请关注ki4网别的相干文章!