Я не могу понять, что в этом случае вызывает недопустимое предупреждение. Я видел, что есть много информации о самом предупреждении, но поскольку я новичок (начался сегодня с php), я не могу понять, даже если бы я прочитал много вопросов об этом на форуме. Ошибка возникает в цикле for-each. Пожалуйста, будьте очень конкретны в своих ответах, когда я учусь.Что вызывает предупреждение «Недопустимый аргумент, предоставленный foreach()» в этом случае?
<?php
function GetWeather($city){
$content = file_get_contents("http://api.openweathermap.org/data/2.5/weather?q=" . $city . "&units=metric");
$data = json_decode($content, true);
$placeinfo = '<span id="City">' . $data['name'] . ", " . $data['sys']['country'] . '</span>'
. "<br />"
. '<span id="Conditions">' . $data['weather']['0']['main'] . '</span>'
. "<br />"
. '<span id="Temperature">' . ceil($data['main']['temp']) . " C</span>"
. "<br />";
return $data ['weather']['0']['main'];
}
Function GetFlickr($city, $conditions)
{
$apikey = '';
$apisecret = '';
$flickrurl = "https://api.flickr.com/services/rest/?method=flickr.photos.search&tags=" . $city . "," . $conditions . "&sort=relevance&format=json&api_key=" .$apikey;
$flickrurl .= 'per_page = 1';
$result = file_get_contents($flickrurl);
$jason = substr($result, strlen("JasonFlickrApi(")-1);
$flickrjson = json_decode($jason, true);
var_dump($flickrjson);
foreach ($flickrjson['photos']['photo'] as $photo) {
$url = "http://farm" . $photo['farm'] . ".static.flickr.com/" . $photo['server'] . "/" . $photo['id'] . "_" . $photo['secret'] . "_m.jpg";
?>
<img src="<?php echo $url; ?> " alt=" <?php echo $photo ['title']; ?>">
<?php
}
}
?>
Вы уверены, что $ flickrjson ['photos'] ['photo'] - массив или истребимый элемент? – NaeiKinDus
Что делает 'var_dump ($ flickrjson);' выходы? – itachi