PHP新手问题:返回带变量的函数?

时间:2011-03-25 19:03:39

标签: php function recordset

我一直在编写asp,并且想知道这是否可以在php中使用:

$data = getData($isEOF);

function getData($isEOF=false)
{
    // fetching data
    $isEOF = true;
    return $data;
}

函数getData将返回一些数据,但我想知道 - 是否可以在函数内部设置$ isEOF变量,以便可以从函数外部访问它?

感谢

3 个答案:

答案 0 :(得分:4)

如果您的函数希望通过引用传递

,则可以
function getData(& $isEOF=false) {

}

请注意变量名称前面的&,在函数的参数列表中。


有关更多信息,请参阅PHP手册的相关部分:Making arguments be passed by reference


并且,为了快速演示,请考虑以下代码部分:

$value = 'hello';
echo "Initial value : $value<br />";

test($value);
echo "New value : $value<br />";


function test(& $param) {
    $param = 'plop';
}

将显示以下结果:

Initial value : hello
New value : plop

答案 1 :(得分:2)

使用全局语句,您可以在任何范围内使用变量。

$data = getData();

function getData()
{
    global $isEOF;

    // fetching data
    $isEOF = true;
    return $data;
}

有关详细信息,请参阅http://php.net/manual/en/language.variables.scope.php

答案 2 :(得分:1)

是的,您需要通过引用传递变量。

请参阅此处的示例:http://www.phpbuilder.com/manual/functions.arguments.php