代码之家  ›  专栏  ›  技术社区  ›  Stoic

在'parent'文件中定义的PHP变量在'required'文件中无法识别

php
  •  2
  • Stoic  · 技术社区  · 14 年前

    <<<parent.php>>>;

    $controller = 'index';
    require ('child.php');
    

    <<<

    echo $controller;
    

    不知怎么的,我收到了一个空输出,这意味着不能通过child.php访问变量。。 我在这里做错什么了吗? 如果可能的话,请告诉我如何在child.php文件中调用上面的变量,如果上面看起来有问题的话。

    当做
    尼基尔·古普塔

    3 回复  |  直到 14 年前
        1
  •  4
  •   tpow    14 年前

    变量是否在函数体外部声明?如果不是的话,那是必须的。

    另外,在调用子文件中的变量时,请在使用全局关键字之前尝试“初始化”该变量。。。

    喜欢

    Global $myParentVariable;
    

    …然后试着打印出来。此外,出于调试目的,在父文件中将变量设置为常量,而不是在某些函数中派生值。换句话说,确保它不是一个将值转换为空的函数。(我看到你在帖子里这么做了——但不确定你是否为了简单起见修改了它)

        2
  •  1
  •   Stoic    14 年前

    我想这是我的错。 错误不在上面几行,但不知怎么的,另一个变量不是访问父php,而是直接访问子php。

    所以,猜猜,现在就知道了,为什么变量不可用。

        3
  •  0
  •   Sarfraz    14 年前

    $vars = get_defined_vars();
    print_r($vars);
    

    此外,如果变量存在于函数中,则可以使用 global