php 全局变量范围分析

yipeiwu_com7年前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设计模式之建造者模式定义与用法简单示例

本文实例讲述了PHP设计模式之建造者模式。分享给大家供大家参考,具体如下: 建造者模式: 将复杂对象的创建过程和表示进行分离(好吧,我也看不懂什么意思1)。 来点我人类能听懂的话:...

PHP学习记录之面向对象(Object-oriented programming,OOP)基础【类、对象、继承等】

PHP学习记录之面向对象(Object-oriented programming,OOP)基础【类、对象、继承等】

本文实例讲述了PHP学习记录之面向对象(Object-oriented programming,OOP)基础。分享给大家供大家参考,具体如下: 在面向对象的程序设计(英语:Object-...

PHP反射类ReflectionClass和ReflectionObject的使用方法

PHP中的扩展反射类,该扩展用来分析php程序,导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。看一个这样的问题,php类的成员变量没有在类中声明,而是在函数中声明,有什么不...

PHP HTML代码串截取代码

而且给的数据是HTML代码串,比如这样: <div class=”aaa”><a href=”/aaa.php?id=1″>张三</a> 评论了 &l...

关于页面优化和伪静态

关于页面优化和伪静态 1)版面优化 2)伪静态(重点涉及apache,smarty,正则) 详细内容: 一、版面优化: 版面优化其实主要涉及HTML,JS,CSS,XML之间的关系(XM...