我正在使用以 json 格式返回搜索结果的 API。我将其解码为一个 PHP 数组,并可以通过遍历数组并将元素分配为变量从那里挑选出我需要的元素,以便我可以将值存储在数据库中。
我的问题是可能返回一个或几十个属性,它仅取决于搜索参数。如果我这样做,
$array = json_decode(file_get_contents("http://search-query-url&output=json"));
foreach($array as $cur) {
$key1 = $cur->item_title;
$key2 = $cur->item_url;
$key3 = $cur->item_location;
echo $key1 . " " . $key2 . " " . $key3 "<br>";
}
...一切都很好,除非 item_location (key3) 在 json 输出中不存在。在这种情况下,我收到错误“未定义的属性:stdClass::$item_location”。
属性名称(item_title、item_url 等)很重要,因为这就是我知道值/字符串应该存储在哪个表列中的方式。
我很难弄清楚这个问题,我不太确定该去哪里。尝试使用 in_array 或 in_object 但我一定做错了什么。我需要根据相应的属性名称创建变量(如果存在)。
有什么想法吗?谢谢!