Вторая попытка!
Увидев ваше отредактированное заявление о проблеме, я посмотрю, как вы назначаете значения zip.
Множество ошибок может быть введено, если ваши почтовые индексы целые, а не строки. Самая большая проблема в том, что американские почтовые индексы могут начинаться с 0.
Примеры в ziptest.php не очень хороши, поскольку рассматривают zips как целые числа. Когда вы пытаетесь описать мой собственный почтовый индекс с целым числом:
$zip1 = 02446;
Это интерпретируется PHP как восьмеричное значение 2446. phpZipLocator использует это значение в виде строки без какого-либо явного преобразования. Поэтому PHP дает ему десятичное значение восьмеричного 2446 в виде строки (1318), которая вообще не является почтовым индексом.
Вместо уведомления о том, что он не нашел почтовый индекс, phpZipLocator выполняет поиск по радиусу всех почтовых индексов в пределах заданного радиуса чего-то, что не существует, и решает, что оно должно быть 1.
Если я установил почтовый индекс, используя строку
$zip1 = '02446';
Я получаю правильный результат.
ИМХО, похоже, что phpZipLocator мог бы немного поработать.