2013-11-24 3 views
1

Я работаю с конкурировать API для получения уникальных посетителей к site..here это код ..Возврат данных из массива

$activityurl = file_get_contents("http://apps.compete.com/sites/facebook.com/trended/uv/?apikey=myapikey"); 

$jsondecoded = json_decode($activityurl); 

foreach($jsondecoded as $values) 
{ 

    print_r($values)."<br />"; 
} 

Это выход я получаю ..

OKstdClass Object ([trends] => stdClass Object ([uv] => Array ([0] => stdClass Object ([date] => 201210 [value] => 160962051) [1] => stdClass Object ([date] => 201211 [value] => 163640791) [2] => stdClass Object ([date] => 201212 [value] => 165602717) [3] => stdClass Object ([date] => 201301 [value] => 166238881) [4] => stdClass Object ([date] => 201302 [value] => 165056717) [5] => stdClass Object ([date] => 201303 [value] => 164808579) [6] => stdClass Object ([date] => 201304 [value] => 164131054) [7] => stdClass Object ([date] => 201305 [value] => 163323608) [8] => stdClass Object ([date] => 201306 [value] => 163078120) [9] => stdClass Object ([date] => 201307 [value] => 163864002) [10] => stdClass Object ([date] => 201308 [value] => 163413311) [11] => stdClass Object ([date] => 201309 [value] => 164616160) [12] => stdClass Object ([date] => 201310 [value] => 167403281))) 

я хотел бы извлечь «значение» из приведенного выше

+0

'$ jsondecoded = json_decode ($ activityurl, true);' – FBHY

+0

$ jsondecoded = json_decode ($ activityurl, true); –

ответ

0

Вам необходимо извлечь их в цикле

$activityurl = file_get_contents("http://apps.compete.com/sites/facebook.com/trended/uv/?apikey=myapikey"); 

$jsondecoded = json_decode($activityurl); 
$values = array(); 

if ($jsondecoded->status === 'ACCESS_DENIED') throw new Exception($jsondecoded->status_message); 

foreach($jsondecoded->data->trends->uv as $object) 
{ 
    $values[] = $object->value; 
} 

var_dump($values) дает

array(13) { 
    [0] => 
    int(160962051) 
    [1] => 
    int(163640791) 
    [2] => 
    int(165602717) 
    [3] => 
    int(166238881) 
    [4] => 
    int(165056717) 
    [5] => 
    int(164808579) 
    [6] => 
    int(164131054) 
    [7] => 
    int(163323608) 
    [8] => 
    int(163078120) 
    [9] => 
    int(163864002) 
    [10] => 
    int(163413311) 
    [11] => 
    int(164616160) 
    [12] => 
    int(167403281) 
} 
+0

возвращает уведомление «Неопределенное свойство: stdClass :: $ uv ' – user10

+0

Да, это' -> тенденции-> uv' не '-> uv-> тенденции' (извините). Пожалуйста, попробуйте еще раз! –

+0

по-прежнему получает уведомление о попытке получить свойство не-объекта для строки foreach – user10

0

Вы можете сделать в таком виде:

$jsondecoded = json_decode($activityurl, true); 

Вторых паров означают:

Когда TRUE, возвращаемые объекты будут преобразованы в ассоциативные массивы.

Я надеюсь, что вы знаете, как работать с массивами :)

0
$jsondecoded = json_decode($activityurl,true); //u will get array type 

то и возможно

$trends=$jsondecoded['trends']; 

$uv=$trends['uv']; 

foreach $uv as $target 
{ 
echo $target['data'].' '. $target['value'].'<br/>'; 
} 
+0

возвращает предупреждение «Неопределенный индекс: тенденции» – user10

+0

Можете ли вы подробно рассказать о $ activityurl – Patato

+0

$ activityurl захватывает уникальных посетителей от конкурирующего api .. состязание api используется для предоставления веб-аналитики и принимает следующую структуру .. https://apps.compete.com/sites/DOMAIN/trended/METRIC/?apikey=APIKEY .. где «METRIC» - это код метрики, который вы запрашиваете (например, уникальные посетители, визиты, ранг) – user10

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