php 全局变量范围分析

yipeiwu_com5年前PHP代码库
复制代码 代码如下:

<?php
$a = 1 ;
include 'b.inc' ;
?>

这里变量 $a 将会在包含文件 b.inc 中生效。但是,在用户自定义函数中,一个局部函数范围将被引入。任何用于函数内部的变量按缺省情况将被限制在局部函数范围内。
复制代码 代码如下:

<?php
$a = 1 ; /* global scope */
function Test ()
{
echo $a ; /* reference to local scope variable */
}
Test ();
?>

这个脚本不会有任何输出,因为 echo 语句引用了一个局部版本的变量 $a ,而且在这个范围内,它并没有被赋值。你可能注意到 PHP 的全局变量和 C 语言有一点点不同
PHP 中全局变量在函数中使用时必须申明为全局(global关键字)
复制代码 代码如下:

<?php
$a = 1 ;
$b = 2 ;
function Sum ()
{
global $a , $b ;
$b = $a + $b ;
}
Sum ();
echo $b ;
?>

以上脚本的输出将是“3”。

相关文章

php摘要生成函数(无乱码)

在使用的时候,得先把要生成摘要的内容strip_tags()一下,当然,你也可以把strip_tags()直接添加到函数中,我没有搞,自己添加吧。下面是函数: 复制代码 代码如下: fu...

php使用类继承解决代码重复的问题

本文实例讲述了php使用类继承解决代码重复的问题。分享给大家供大家参考。具体分析如下: 继承直白地说就是给一个类建一个或多个子类,要创建子类就必须在类声明中使用 extends 关键字,...

php获取百度收录、百度热词及百度快照的方法

本文实例讲述了php获取百度收录、百度热词及百度快照的方法。分享给大家供大家参考。具体如下: 获取百度收录: <?php /* 抓取百度收录代码 */ function...

php使用str_replace替换多维数组的实现方法分析

本文实例讲述了php使用str_replace替换多维数组的实现方法。分享给大家供大家参考,具体如下: 在php中,如果使用str_replace替换数组中的字符串,只能替换一维的数组,...

THINKPHP支持YAML配置文件的设置方法

为什么要用 yaml 因为 Yaml 简单,而且对人类友好; Yaml: http://www.yaml.org/ 在哪里会用到? 最基本的,在 ThinkPHP 的配置文件里面就可以选...