2017-01-19 12 views
0

Я пытаюсь прочитать reddit json, используя мою учетную запись в качестве примера.Reddit json и PHP - открытие foreach() и получение значений

Пробовал решение выше, как:

$string_reddit = file_get_contents("https://www.reddit.com/user/joshfolgado/about.json"); 

$json = json_decode($string_reddit, true); 

$children = $json['data']; 
foreach ($children as $child){ 

$linkkarma = $child['data']['link_karma']; 

} 

Также попробовал:

foreach ($json->data as $mydata){ 

$values["Latest_Karma"] = $mydata['link_karma']; 

} 

Также попробовал:

$opts = array(
'http'=>array(
'method'=>"GET", 
'header'=>"User-Agent: reddiant api script\r\n" 
)); 

$context = stream_context_create($opts); 
$url = "http://www.reddit.com/user/joshfolgado/about.json"; 
$json = file_get_contents($url, false, $context); 

$result = json_decode($json, true); 

foreach ($result as $child){ 
    $values['Latest_Karma'] = $child['data']['link_karma']; 
} 

Провели несколько часов, пытаясь делать получить значения для любого из элементы внутри массива «данные», havent были в состоянии получить любой.

Что я делаю неправильно? Что мне не хватает?

Любая помощь приветствуется.

Благодаря

+1

Что ошибка, которую вы получаете? Отображается ли ошибка или просто ничего не возвращает при запуске foreach? –

+0

Дамп ответа и посмотреть, что он на самом деле содержит? –

+0

Это не ошибка, что происходит, так это то, что $ values ​​['Latest_Karma'] не возвращает значение –

ответ

0

Незначительная модификация пост pee2pee (его возвращается неопределенное ошибка индекса для меня)

$string_reddit = file_get_contents("http://www.reddit.com/user/joshfolgado/about.json"); 
$json = json_decode($string_reddit, true); 

$children = $json['data']; 
$user = []; 

foreach ($children as $key => $value) 
{ 
    $user[$key] = $value; 
} 

echo $user['name']; //Now you can use the $user array to access all the properties! 

Это работает для меня ->

enter image description here

+0

Большой вход Kenziiee. вопрос. Как получить значение, например, для «comment_karma»? В основном мне нужно получить различные значения и назначить их переменным в моей системе. –

+0

Внутри цикла foreach он отображает ключ, который будет представлять собой карму комментария и значение, которое в вашем случае будет 47, вы должны использовать цикл, чтобы назначить их динамически. Или вы хотите увидеть код? –

+0

Спасибо большое Kenziiee! Если вы можете показать мне, что код будет замечательным! –

1
$string_reddit = file_get_contents("http://www.reddit.com/user/joshfolgado/about.json"); 
$json = json_decode($string_reddit, true); 

$children = $json['data']; 
foreach ($children as $child){ 
    $link_karma= $child['link_karma']; 
} 
+0

спасибо pee2pee за вашу помощь –

+0

Тогда почему вы не приняли этот ответ? – RiggsFolly

+0

Не знаете, почему это не сработало, его эффективный ответ. –