0

我需要访问在函数内的另一个 php 文件中声明的变量。我该怎么做?

一个.php

<?php

$global['words']=array("one","two","three");

echo "welcome"
?>

b.php

<?php

$words = $global['words'];
require_once('a.php');

print_r($global['words']);

function fun()
{

print_r($global['words']); // not displaying here

}

fun();
?>

现在我可以访问 b.php 文件中的“$global['words']”变量,但不能在函数内访问,我怎样才能使其在函数内可见?

4

2 回答 2

1

首选选项是作为参数传递:

function fun($local) {
    print_r($local['words']);
}

fun($global);

如果由于某种原因您不能使用该方法,那么您可以将变量声明为全局变量:

function fun() {
    global $global;
    print_r($global['words']);
}

fun();

或者使用$GLOBALS数组:

function fun() {
    print_r($GLOBALS['global']['words']);
}

fun();

但总的来说,使用全局变量被认为是不好的做法

于 2013-09-12T16:21:27.263 回答
0

实际上你的函数不知道它之外的任何东西,如果它不是一个类,或者全局 php vars $_POST,你可以尝试将函数定义为:

function fun() use ($globals)
{

}
于 2013-09-12T16:32:08.630 回答