php类方法返回无名函数的值

时间:2014-02-19 15:02:59

标签: php

您好我有以下方法。我想在方法返回之前使用无名函数并更改一些数据,而不是创建一个单独的函数来本地化数据库查询的结果。我还希望该方法从无名函数返回过滤后的数据。我在下面的代码中做错了什么?

public function getStats($request){

    // some custom input filtering

    $params = array('uid' => $this->uid);
    $reply = $db->get($query,$params);

    return function() use (&$reply){

        //localization of some strings

        return $reply;
    };
} 

2 个答案:

答案 0 :(得分:1)

不是返回匿名函数返回的值,而是返回函数本身。试试这个:

public function getStats($request){

    // some custom input filtering

    $params = array('uid' => $this->uid);
    $reply = $db->get($query,$params);

    $myfunction = function() use ($reply){

        //localization of some strings

        return $reply;
    };

    return $myfunction();
} 

此外,无需通过引用传递$reply

答案 1 :(得分:0)

在PHP中,无名函数称为匿名函数或闭包。这是一个例子:

<?php
$greet = function($name)
{
    printf("Hello %s\r\n", $name);
};

$greet('World');
$greet('PHP');
?>

了解更多信息see docs