Skip to content

Commit 5a2ad69

Browse files
committed
Fix
1 parent 8a48071 commit 5a2ad69

File tree

1 file changed

+17
-7
lines changed

1 file changed

+17
-7
lines changed

src/Helper.php

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,18 +61,28 @@ private function _getStrPad($str, $len = 2, $chr = '0', $right = false)
6161
private function _getAddressInfo($addressCode)
6262
{
6363
$addressInfo = [];
64+
$firstCharacter = substr($addressCode, 0, 1); // 用于判断是否是港澳台居民居住证(8字开头)
6465
// 省级信息
65-
$provinceAddressCode = substr($addressCode, 0, 2).'0000';
66+
$provinceAddressCode = substr($addressCode, 0, 2) . '0000';
6667
$addressInfo['province'] = isset($this->_addressCodeList[$provinceAddressCode]) ? $this->_addressCodeList[$provinceAddressCode] : '';
6768

68-
// 市级信息
69-
$cityAddressCode = substr($addressCode, 0, 4).'00';
70-
$addressInfo['city'] = isset($this->_addressCodeList[$cityAddressCode]) ? $this->_addressCodeList[$cityAddressCode] : '';
69+
// 市级信息(港澳台居民居住证无市级信息)
70+
if ($firstCharacter != '8') {
71+
$cityAddressCode = substr($addressCode, 0, 4) . '00';
72+
$addressInfo['city'] = isset($this->_addressCodeList[$cityAddressCode]) ? $this->_addressCodeList[$cityAddressCode] : '';
73+
} else {
74+
$addressInfo['city'] = '';
75+
}
76+
77+
// 县级信息(港澳台居民居住证无县级信息)
78+
if ($firstCharacter != '8') {
79+
$addressInfo['district'] = isset($this->_addressCodeList[$addressCode]) ? $this->_addressCodeList[$addressCode] : '';
80+
} else {
81+
$addressInfo['district'] = '';
82+
}
7183

72-
// 县级信息
73-
$addressInfo['district'] = isset($this->_addressCodeList[$addressCode]) ? $this->_addressCodeList[$addressCode] : '';
7484

75-
if (empty($addressInfo)) {
85+
if (empty($addressInfo)) {
7686
return false;
7787
} else {
7888
return $addressInfo;

0 commit comments

Comments
 (0)