Задать вопрос
@SNAKEJA

Как получить appid(значение из массива) ?

Приветствую всех.
Есть код
$getUrl = file_get_contents("http://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key=B376BB79D322BCB7B00B88B1C2DA637E&steamid=76561198027888875&format=json");
		$rez = json_decode($getUrl);
        $rez = $rez->response->games;
	    
	            	echo "<pre>";
	            	print_r($rez); 
	            	echo "</pre>";

Этот код выводит ответ в виде :
Array
(
    [0] => stdClass Object
        (
            [appid] => 10
            [playtime_2weeks] => 1
            [playtime_forever] => 182860
        )

    [1] => stdClass Object
        (
            [appid] => 30
            [playtime_forever] => 0
        )

    [2] => stdClass Object
        (
            [appid] => 40
            [playtime_forever] => 0
        )

    [3] => stdClass Object
        (
            [appid] => 60
            [playtime_forever] => 0
        )

    [4] => stdClass Object
        (
            [appid] => 80
            [playtime_forever] => 163
        )

    [5] => stdClass Object
        (
            [appid] => 100
            [playtime_forever] => 0
        )

    [6] => stdClass Object
        (
            [appid] => 240
            [playtime_forever] => 19009
        )

    [7] => stdClass Object
        (
            [appid] => 300
            [playtime_forever] => 0
        )

    [8] => stdClass Object
        (
            [appid] => 320
            [playtime_forever] => 0
        )

    [9] => stdClass Object
        (
            [appid] => 340
            [playtime_forever] => 0
        )

    [10] => stdClass Object
        (
            [appid] => 205790
            [playtime_forever] => 0
        )

    [11] => stdClass Object
        (
            [appid] => 730
            [playtime_forever] => 1005
        )

    [12] => stdClass Object
        (
            [appid] => 48700
            [playtime_forever] => 0
        )

)

Как получить appid ?
Такое
foreach ($rez->response->games as $val) {
 
        echo $val['appid'];
}

и такое
foreach ($rez->response->games as $val) {
 
        echo $val->appid;
}

Не работает. Помогите пожалуйста.
  • Вопрос задан
  • 2458 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
nowm
@nowm
Вы же затёрли предыдущее значение $rez. Поэтому $rez->response->games — это несуществующее свойство.

Смотрите сами:

$rez = json_decode($getUrl); // $rez->response->games существует
$rez = $rez->response->games; // $rez->response->games больше не существует


Нужно просто другую переменную использовать. Например так:

$rez = json_decode($getUrl);
$app_list = $rez->response->games;


Тогда у вас $rez->response->games будет доступно и вы сможете делать foreach как для $app_list, так и для $rez->response->games.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
BuriK666
@BuriK666
Компьютерный псих
вы сделали
$rez = $rez->response->games;Получается цикл уже будет:
foreach ($rez as $val) {
        echo $val->appid;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы