2013-11-24 2 views
-1

Это должно быть достаточно простым, но я не могу опустить голову. Если я выберу запрос из функции эхо-запроса запроса, но если он обернут вокруг функции, он не повторит период.Почему функция не будет echo

Может ли кто-нибудь объяснить мне, что именно происходит, чтобы заставить его не работать?

$url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 

function getFB($url) 
{ 
    $fql = "SELECT url, share_count FROM link_stat WHERE url='$url'"; 
    $json = file_get_contents('https://api.facebook.com/method/fql.query?format=json&query=' . urlencode($fql)); 
    $data = json_decode($json, true); 
    return $data; 
} 
echo $getFB[0]['share_count']; 

ответ

1

Первое: Вам нужно удалить знак доллара из функции

Во-вторых: я вижу, что вы не передавая URL функции, таким образом, он ничего не возвращает

$url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 

function getFB($url) 
{ 
$fql = "SELECT url, share_count FROM link_stat WHERE url='$url'"; 
$json = file_get_contents('https://api.facebook.com/method/fql.query? format=json&query=' . urlencode($fql)); 
$data = json_decode($json, true); 
return $data; 
} 
$data = getFB($url); 
echo $data[0]['share_count']; 
+0

Спасибо за ответ, который имеет смысл снова. Странно то, что он просто печатает getFB везде, где я его повторяю. Я действительно получаю эту ошибку Ошибка анализа: синтаксическая ошибка, неожиданная '['. – iBrazilian2

+0

Отредактировал мой ответ. – Ali

Смежные вопросы