我有一个案例,我可以接收两个 json 对象之一,在这种情况下,来自 google geocode api 或 places api。
从地理编码 api 访问值将如下所示:
$coordinates = $data->results[0]->geometry->location;
$cache_value['lat'] = (string) $coordinates->lat;
$cache_value['lng'] = (string) $coordinates->lng;
和几乎相同的地方结构。
$coordinates = $data->result->geometry->location;
$cache_value['lat'] = (string) $coordinates->lat;
$cache_value['lng'] = (string) $coordinates->lng;
在我的代码中,我有两个函数来处理每种情况,但是除了result
vs之外,它们几乎是相同的results[0]
,我想将它们结合起来。我试图传递一个变量,但它会引发错误:
$result = ($place) ? 'result' : 'results[0]';
$coordinates = $data->$result->geometry->location;
给出以下内容:
注意: Undefined property: stdClass::$result[0]
我想知道正确的语法来实现我所追求的,以及关于命名法的任何指针,因为我担心这个问题的标题有点不准确。