function foo() {
$foo1= mysql_query();
$db_field = mysql_fetch_assoc($foo1);
$word= $db_field['word'];
$lower=strtolower($word);
}
foo();
print $lower;
上面的函数执行一个代码块,其endgame是$lower
变量,它是数据库中单词的小写字母。由于代码如上所述,我收到错误消息$lower is not defined
。
我尝试使用$lower
返回return $lower
,但这不起作用。如何保留函数中的变量供以后使用?
答案 0 :(得分:1)
首先,函数末尾的return $lower
是正确的。然后你使用:
$var = foo();
您刚刚发现了变量的范围。 $lower
只能在函数内部使用,所以你不能在它之外使用它。
答案 1 :(得分:0)
$lower
在函数内部定义,仅在该函数内具有范围。因此,尝试在函数外部访问它肯定会导致问题。你必须在函数中返回它。试试:
function foo() {
$foo1= mysql_query();
$db_field = mysql_fetch_assoc($foo1);
$word= $db_field['word'];
return strtolower($word); // return the value
}
$lower=foo(); // this will contain the return value of foo()
print $lower;
答案 2 :(得分:0)
将你的退货声明放回去
...
return $lower;
}
$result = foo();
print $result;
答案 3 :(得分:0)
$lower
变量。它无法解决问题。这样做,
function foo() {
$foo1= mysql_query();
$db_field = mysql_fetch_assoc($foo1);
$word= $db_field['word'];
$lower=strtolower($word);
return $lower;
}
$lower = foo();
print $lower;
答案 4 :(得分:0)
你实际上可以使用' global' 喜欢这个。
$lower = '';
function foo() {
global $lower;
$foo1= mysql_query();
$db_field = mysql_fetch_assoc($foo1);
$word= $db_field['word'];
$lower=strtolower($word);
}
foo();
print $lower;