使用'callback'时出现意外的T_FUNCTION =>功能($ RESP)

时间:2013-11-27 23:00:35

标签: javascript php jquery facebook

我正在编写脚本以显示各种API的社交共享计数器,并且在运行PHP文件时,它会产生 Parse错误:语法错误,意外的T_FUNCTION 。我知道它是一个较旧的PHP版本问题,因为我的是5.2.17但我需要建议来克服这个问题。这是代码:

// Facebook
 array(
'name' => 'facebook',
'method' => 'GET',
'url' => 'https://graph.facebook.com/fql?q=' . urlencode("SELECT like_count, total_count, share_count, click_count, comment_count FROM link_stat WHERE url = \"{$url}\""),
'callback' => function($resp) {
        if(isset($resp->data[0]->total_count)) {
            return (int)$resp->data[0]->total_count;
        } else {
            return 0;
        }
})

1 个答案:

答案 0 :(得分:0)

PHP 5.3中引入了匿名函数,因此语法不适用于您的PHP版本。首先尝试定义函数,然后将函数名称传递给数组。

function handle_response($resp) 
{
    if(isset($resp->data[0]->total_count)) {
        return (int)$resp->data[0]->total_count;
    } else {
        return 0;
    }
}

array(
    'name' => 'facebook',
    'method' => 'GET',
    'url' => 'https://graph.facebook.com/fql?q=' . urlencode("SELECT like_count, total_count, share_count, click_count, comment_count FROM link_stat WHERE url = \"{$url}\""),
    'callback' => 'handle_response'
)