PHP从稍后要使用的函数返回一个字符串?

时间:2014-04-25 05:06:30

标签: php mysql function variables

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,但这不起作用。如何保留函数中的变量供以后使用?

5 个答案:

答案 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;