API ПриватБанка: Получаем список банкоматов

Написал небольшую функция для получения списка банкоматов ПриватБанка в конкретном городе. Делаем запрос на получение XML списка, который содержит в себе название объекта и его местоположение (улицу), потом парсим это дело и загоняем все в массив для дальнейших каких-то действий(каких зависит от ваших потребностей).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
// get_atm.php //
function get_atm($city) {
   
        $city = urlencode($city);
        $url = "https://privat24.privatbank.ua/p24/accountorder?oper=prp&atm&address=&city=$city&PUREXML=";
       
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_TIMEOUT, 20);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);       
        $rez = curl_exec($ch);
        curl_close($ch);
       
        $dom = new DomDocument('1.0','UTF-8');
        $dom->loadXML($rez);
        $xpath = new DOMXPath($dom);
       
        $result = $xpath->query('//atm');
       
        $rezl = array();
       
        for ($i=0;$i<$result->length;$i++) {
            $atm = $result->item($i);
            $atm_mas = array();
            $atm_mas['name'] = $atm->getAttribute('name_RU');
            $atm_mas['address'] = $atm->getAttribute('address_RU');
            $rezl[] = $atm_mas;
        }
       
        return $rezl;      
}
print_r(get_atm($argv['1']));
?>

Писал под консольный вариант, поэтому чтоб запустить пример запускаем с параметром, а именно так:

1
php get_atm.php 'Киев'