0
<?php
echo test(); 
$a = "123";

function test(){
global $b;
b =$a;
return $b;
}
?>

我想从另一个表单中获取值,所以我设置了一个函数,但是为什么不能在 test() 中显示值

4

2 回答 2

3

因为$a超出范围,在函数调用之后声明并且您有语法错误。你需要global $a.

$a = "123";
echo test( ); 

function test( ) {
    global $a;
    $b = $a;
    return $b;
}

结果

123

看看变量范围

于 2013-01-08T15:15:25.663 回答
0

首先,您不能像这样填充变量:b = $a您需要使用正确的 PHP 语法,所以:$b = $a.

其次,“njk”是正确的,您需要将变量声明为全局变量,因为它超出了范围,因此 usingglobal $a将起作用。

最后,只有在调用函数之前预先定义变量时它才会起作用,所以它看起来是这样的:

$a = 123;

function test() {

  global $a;

  $b = $a;

  return $b;

}

echo test();

这将返回这个结果:

123

希望有帮助。

于 2013-01-08T15:21:04.290 回答