• php 在函数内引用全局变量 讲解引用


    <?php
    $var1 = "Example variable";
    $var2 = "";
    
    function global_references($use_globals)
    {
        global $var1, $var2;
        if (!$use_globals) {
            $var2 =& $var1; // visible only inside the function
        } else {
            $GLOBALS["var2"] =& $var1; // visible also in global context
        }
    }
    
    global_references(false);
    echo "var2 is set to '$var2'
    "; // var2 is set to ''
    global_references(true);
    echo "var2 is set to '$var2'
    "; // var2 is set to 'Example variable'
    ?>

    当用 global $var 声明一个变量时实际上建立了一个到全局变量的引用。也就是说和这样做是相同的:

     $var =& $GLOBALS["var"];

    这意味着,例如,unset $var 不会 unset 全局变量。

    如果在一个函数内部给一个声明为 global 的变量赋于一个引用,该引用只在函数内部可见。可以通过使用 $GLOBALS 数组避免这一点。

    Example  在函数内引用全局变量

    <?php
    $var1 = "Example variable";
    $var2 = "";
    
    function global_references($use_globals)
    {
        global $var1, $var2;
        if (!$use_globals) {
            $var2 =& $var1; // visible only inside the function
        } else {
            $GLOBALS["var2"] =& $var1; // visible also in global context
        }
    }
    
    global_references(false);
    echo "var2 is set to '$var2'
    "; // var2 is set to ''
    global_references(true);
    echo "var2 is set to '$var2'
    "; // var2 is set to 'Example variable'
    ?>

    global $var; 当成是 $var =& $GLOBALS['var']; 的简写。从而将其它引用赋给 $var 只改变了本地变量的引用。

     http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/09/10/2173092.html

  • 相关阅读:
    如何更好的学习编译原理?
    组合数据类型练习
    简化版c语言文法
    Python基础练习
    Linux 命令
    实验一:词法分析实验报告
    20160930 词法分析程序
    大数据概述
    WP7应用开发笔记(7) 配置和存储
    欧拉计划 第九题
  • 原文地址:https://www.cnblogs.com/hubing/p/3171543.html
Copyright © 2020-2023  润新知