Olá. Recentemente me desafiei a voltar ao PHP e decidi criar um pequeno Widget onde mostra a temperatura da minha cidade.
Inicialmente eu utilizava a API do Clima Tempo, porém as informações de temperatura não batiam com a de outros sistemas, sendo assim, recorri ao OpenWeatherMap.
Meu problema se encontra na obtenção de dados referentes ao tempo (se está chovendo, ícone designado para esse evento, etc) pois essas informações estão em outro array intitulado de “weather”. Sendo assim, como posso obter as informações de um array dentro de outro?
stdClass Object
(
[message] => accurate
[cod] => 200
[count] => 1
[list] => Array
(
[0] => stdClass Object
(
[id] => 3455775
[name] => Embu das Artes
[coord] => stdClass Object
(
[lat] => -23.6496
[lon] => -46.8529
)
[main] => stdClass Object
(
[temp] => 20.8
[pressure] => 1012
[humidity] => 100
[temp_min] => 20
[temp_max] => 23
)
[dt] => 1517333520
[wind] => stdClass Object
(
[speed] => 2.1
[deg] => 180
)
[sys] => stdClass Object
(
[country] => BR
)
[rain] =>
[snow] =>
[clouds] => stdClass Object
(
[all] => 90
)
[weather] => Array
(
[0] => stdClass Object
(
[id] => 500
[main] => Rain
[description] => light rain
[icon] => 10d
)
[1] => stdClass Object
(
[id] => 701
[main] => Mist
[description] => mist
[icon] => 50d
)
[2] => stdClass Object
(
[id] => 300
[main] => Drizzle
[description] => light intensity drizzle
[icon] => 09d
)
)
)
)
)
PS.:
Eu consigo recuperar informações da stdClass main, onde contém temperatura, pressão e umidade com o seguinte código
$url = "http://api.openweathermap.org/data/2.5/find?q=Embu%20das%20Artes&units=metric&appid=meuAppid";
$json = file_get_contents($url);
$data = json_decode($json);
foreach ($data->list as $value) {
echo $value->main->temp;
echo $value->main->temp_min;
echo $value->main->temp_max;
}
Agradeço desde já pelas informações.