的index.php
require '../include/FunctionFile.php';
$test = "blah";
myfunction($test);
FunctionFile.php
function myfunction($test){
global $test;
echo $test;
}
我想将$test
值传递给myfunction,但看起来它不起作用,它没有返回任何内容,错误日志中没有任何内容。
答案 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;
}