【发布时间】:2020-12-05 03:34:07
【问题描述】:
我正在尝试使用 api 来获取水果信息。
$fruitStirng = 'apple';
$url = "https://www.fruityvice.com/api/fruit/".$fruitStirng;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($ch);
$main = json_decode($res);
结果应该是这样的:
{ "genus": "Malus", "name": "Apple", "id": 6, "family": "Rosaceae", "order": "Rosales", "nutritions": { "carbohydrates": 11.4, "protein": 0.3, "fat": 0.4, "calories": 52, "sugar": 10.3 } }
但例如当我尝试像这样 echo genus 时:
$genus = $main->genus;
echo $genus
我收到Trying to get property 'genus' of non-object 错误!
我也用过foreach,但也出错了
Invalid argument supplied for foreach()
【问题讨论】:
-
$res不等于false?试试var_dump($res); -
如果是
false,请使用if (curl_errno($ch)) { $error_msg = curl_error($ch);}来回显错误。可能的错误可能是SSL certificate problem: unable to get local issuer certificatebool(false)或相关内容。 -
@IhorVyspiansky 认为这是错误的