使用全局变量如何在不调用函数的情况下使用一个函数的值传递给另一个函数?
喜欢
$toshik;
function one()
{
global $toshik;
$toshik=2;
}
function two()
{
one();
global $toshik;
echo $toshik; [//this should give value as **2**]
}
?>
第一:你可能是指global $toshik;
你的功能。
第二:你不能那样做。一个函数是要被调用的。在你调用它之前它什么都不做,所以很自然地,变量没有设置。
如果您只需要函数中的单个变量而不需要其他变量,请设置一些条件,例如function one( $set = false )
,然后更改函数以仅设置变量,如果$set == true
.
尝试
$var = 1;
foo(); // outputs: 1
bar(); // outputs: 2
echo $var; // outputs: 3
function foo() {
global $var;
echo $var; // -> 1
$var++;
}
function bar() {
global $var;
echo $var; // -> 2
$var++;
}
在我回答之后你更新了你的问题。您发布的内容应该有效。您当然必须调用这些函数。
这里有 2 个场景(跟进您的代码)。
// file 1
two(); // echoes nothing
// file 2
one();
two(); // echo 2
没有第三种方法。顺便说一句,你想完成什么?
尝试参考 valriable....
$toshik;
function one(&$toshik){
global $toshik;
$toshik=2;
}
function two(){
global $toshik;
one();
echo $toshik;
}
two();