Как получить доступ к заданному значению массива c в функции laravel dd - PullRequest
0 голосов
/ 14 января 2020

Мне просто нужны координаты из геолокации, основанные на адресе, который я указал в параметрах. Я использую curl для запроса.

Вот мой запрос локона

        $url = 'https://maps.googleapis.com/maps/api/geocode/json?address=10%20BISHAN%STREET%2013&key='.$key;
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $response = json_decode(curl_exec($ch), true);
        dd($response);

Я получил ответ

array:2 [▼
  "results" => array:1 [▼
    0 => array:6 [▼
      "address_components" => array:6 [▶]
      "formatted_address" => "10 Bishan Street 13, Singapore 579795"
      "geometry" => array:3 [▼
        "location" => array:2 [▼
          "lat" => 1.349774
          "lng" => 103.854975
        ]
        "location_type" => "ROOFTOP"
        "viewport" => array:2 [▶]
      ]
      "place_id" => "ChIJR0tGixEX2jERVE4uZWfBN-o"
      "plus_code" => array:2 [▶]
      "types" => array:1 [▶]
    ]
  ]
  "status" => "OK"
]

Если я сделаю dd($response['result']);

Я получу

  0 => array:6 [▼
    "address_components" => array:6 [▶]
    "formatted_address" => "10 Bishan Street 13, Singapore 579795"
    "geometry" => array:3 [▼
      "location" => array:2 [▼
        "lat" => 1.349774
        "lng" => 103.854975
      ]
      "location_type" => "ROOFTOP"
      "viewport" => array:2 [▼
        "northeast" => array:2 [▼
          "lat" => 1.3511229802915
          "lng" => 103.85632398029
        ]
        "southwest" => array:2 [▼
          "lat" => 1.3484250197085
          "lng" => 103.85362601971
        ]
      ]
    ]
    "place_id" => "ChIJR0tGixEX2jERVE4uZWfBN-o"
    "plus_code" => array:2 [▼
      "compound_code" => "8VX3+WX Singapore"
      "global_code" => "6PH58VX3+WX"
    ]
    "types" => array:1 [▼
      0 => "street_address"
    ]
  ]
]

Есть ли способ получить прямой доступ к location, используя dd ?. Спасибо за ответы.

Ответы [ 2 ]

2 голосов
/ 14 января 2020

Если вы следуете иерархии, вы просто добавляете соответствующее имя элемента массива на каждом этапе, это должно дать вам ...

$response['result'][0]['geometry']['location']

Для [0] может потребоваться foreach, если есть больше результатов.

0 голосов
/ 14 января 2020

Это должно работать:

dd($response['result']['geometry']['location']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...