nassau / pochta-polska-ranges

解析波兰邮政在其PNA列表中提供的范围

1.0.1 2017-05-23 11:10 UTC

This package is auto-updated.

Last update: 2024-09-23 19:37:29 UTC


README

安装

composer require nassau/poczta-polska-ranges

使用

TL;DR;

(new Nassau\PocztaPolskaRanges\RangeChecker)->isInRanges("15a", "10-24(p)");
// false, 15a is on the other side of the street

波兰邮政提供带建筑编号范围的邮政编码(PNA),格式为

An-Bm, X-Z(p)

此工具解析这些格式并检查给定的数字是否与给定的范围匹配,例如

$data = [
    'Piękna' => [
        '00-549' => '11-29(n), 18-26(p)',
        '00-477' => '1-1a, 10',
        '00-539' => '1b-9(n), 12-16b(p)',
        '00-547' => '28-42(p)',
        '00-482' => '2-8(p)',
        '00-677' => '31-39(n)',
        '00-672' => '41-DK(n), 44-68a(p)',
    ]
];

$input = 'Piękna 8';

list ($street, $number) = explode(" ", $input);

$checker = new RangeChecker;

foreach ($data[$street] as $code => $ranges) {
    if ($checker->isInRanges($number, $ranges)) {
        echo "${input}” matches $code zip code\n";
    }
}