Неожиданный T_FUNCTION при использовании функции 'callback' => ($ resp) [duplicate]

0

Я писал сценарий для отображения социальных счетчиков акций различных 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;
        }
})
  • 5
    PHP до 5.3 не поддерживает анонимные функции
  • 0
    Вот о чем мой вопрос, есть ли какое-нибудь решение для преодоления этого?
Показать ещё 2 комментария
Теги:
facebook

1 ответ

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'
)
  • 0
    Попытка сделать это, сначала определив функцию, но все равно показывает ту же ошибку.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню