Получить данные из curl для помещения в массив и отображения в php - PullRequest
0 голосов
/ 16 декабря 2018

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

Вот мой код:

function remote_get_contents($url)
{
    if (function_exists('curl_get_contents') AND 
 function_exists('curl_init'))
    {
            return curl_get_contents($url);
    }
    else
    {
            return file_get_contents($url);
    }
}

function curl_get_contents($url)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
}

$url = 'URL_HIDDEN';
$object = json_decode(remote_get_contents($url));
$url2 = 'URL_HIDDEN';
$object2    = json_decode(remote_get_contents($url2));

$zip = $object->postal;
$city = $object->city;
$zips = $object2->zip_code;

echo $city ." | ". $zip . " | ". $zips ."<br />";

Вот вывод необработанных данных (все, что мне нужно, это показать каждый почтовый индекс). Он может быть длиннее или короче.В некоторых случаях это может быть более 50 почтовых индексов, которые необходимо извлечь.В других случаях это может быть только 1 или 2.

 {
  "zip_codes": [
    {
        "zip_code": "27356",
        "distance": 47.395,
        "city": "Star",
        "state": "NC"
    },
    {
        "zip_code": "27247",
        "distance": 46.972,
        "city": "Ether",
        "state": "NC"
    },
    {
        "zip_code": "27325",
        "distance": 45.174,
        "city": "Robbins",
        "state": "NC"
    },
    {
        "zip_code": "27259",
        "distance": 44.428,
        "city": "Highfalls",
        "state": "NC"
    },
    {
        "zip_code": "27330",
        "distance": 49.074,
        "city": "Sanford",
        "state": "NC"
    },
    {
        "zip_code": "27341",
        "distance": 40.783,
        "city": "Seagrove",
        "state": "NC"
    },
    {
        "zip_code": "27237",
        "distance": 46.55,
        "city": "Cumnock",
        "state": "NC"
    },
    {
        "zip_code": "28137",
        "distance": 49.68,
        "city": "Richfield",
        "state": "NC"
    },
    {
        "zip_code": "27208",
        "distance": 38.639,
        "city": "Bennett",
        "state": "NC"
    },
    {
        "zip_code": "27252",
        "distance": 41.732,
        "city": "Goldston",
        "state": "NC"
    }
 ]
 }

Ответы [ 2 ]

0 голосов
/ 16 декабря 2018

Вам нужно будет перебирать многомерные данные.Как то так ...

foreach (json_decode(remote_get_contents($url2))->zip_codes as $row) {
    echo $row->city ." | ". $row->zip_code . "<br />";
}
0 голосов
/ 16 декабря 2018

попробуйте с этим

$object2    = json_decode(remote_get_contents($url2), true);

добавление преобразует json в связанный массив json_decode doc

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...