我有以下代码在邮政编码中放置一个空格。
(string)$postcode = $row['postcode'];
$first = substr($postcode, strlen($postcode)-3);
$second = substr($postcode, strlen($first));
$postcode = $first . ' ' . $second;
除了一些代码之外,代码适用于大多数代码。即
PN45HA 70448
我不明白为什么?任何人都可以对此发光吗?
三江源
答案 0 :(得分:4)
不要真正理解这个问题,但如果它是关于空间的,那么这将起作用:
$postcode = 'PN45HA70448';
$postcode = substr($postcode, 0, -3) . ' ' . substr($postcode, -3);
// PN45HA70 448
答案 1 :(得分:0)
$first = substr($postcode, 0, -3);
$second = substr($postcode, -3);
$postcode = $first . ' ' . $second;
答案 2 :(得分:0)
$code = 'PN45HA 70448'
$first = substr($postcode, strlen($postcode)-3); // 448
$second = substr($postcode, strlen($first)); // PN45HA 70
$postcode = $first . ' ' . $second; // PN45HA 70 448
问题是并非所有的邮政编码都是简单的6个字符的邮政编码。你只是在你传入的任何字符串中的最后3个字符之前添加空格。
您可能需要做的是使用正则表达式:
$code = preg_replace('/([A-Z][0-9][A-Z])\s*([0-9][A-Z][0-9])/', '\1 \2', $code);
这将使用任何看起来像邮政编码的字符串,在两半之间有可选空格,并放在一个空格中。