PHP将变量传递给另一个文件中的函数

时间:2016-01-13 09:10:46

标签: php function variables

的index.php

require '../include/FunctionFile.php';
$test = "blah";
myfunction($test);

FunctionFile.php

function myfunction($test){
    global $test;
    echo $test;
}

我想将$test值传递给myfunction,但看起来它不起作用,它没有返回任何内容,错误日志中没有任何内容。

3 个答案:

答案 0 :(得分:2)

您的功能需要return值。

<强>的index.php

require '../include/FunctionFile.php';
$test = "blah";
$var=myfunction($test);// assign to vaiable
echo $var;

<强> FunctionFile.php

function myfunction($test){
    return $test;// use return type here
}

答案 1 :(得分:1)

我知道其他伙伴已经提供了解决方案,所以我正在为未来方面添加我的答案。

假设您有两个函数getHello()getGoodbye(),其定义目的不同。

// function one
function getHello(){
    return "Hello";
}

// function two
function getGoodbye(){
    echo "Goodbye";
}

//now call getHello() function
$helloVar = getHello();  

<强>结果:

'Hello' // return 'hello' and stored value in $helloVar

//now call getGoodbye() function
$goodbyeVar = getGoodbye(); 

<强>结果:

'Goodbye' // echo 'Goodbye' and not stored in $goodbyeVar

echo $helloVar; // "Hello" 
echo $goodbyeVar; // Goodbye 

<强>结果:

'GoodbyeHello'

// now try same example with this:

echo $helloVar; // "Hello" 
//echo $goodbyeVar; // Goodbye 

结果应该相同,因为getGoodbye()已经echo'ed结果。

现在使用您的代码示例:

function myfunction($test){
    //global $test;
    echo $test;
}

function myfunction2($test){
    //global $test;
    return $test;
}

myfunction('test'); // test
myfunction2('test'); // noting

//You need to echo myfunction2() as i mentioned in above.

echo myfunction2('test'); // test

为什么它的代码无效?

在分配像:

之类的值之前,您需要将变量声明为Global
global $test;
$test = "blah"; 

答案 2 :(得分:0)

您也可以试试这个

myfunction("args");
function myfunction($test){
	echo $test;
}