私のクラスには次の機能があります。
public function checkPostcodeFormat($postcode) {
if (strlen($postcode) === 7 && substr($postcode, 5) !== " ") {
return substr($postcode, 0, 4) . ' ' . substr($postcode, 4, 3);
} elseif (strlen($postcode) === 6 && substr($postcode, 4) !== " ") {
return substr($postcode, 0, 3) . ' ' . substr($postcode, 3, 3);
} else {
return $postcode;
}
}
郵便番号が substr 関数を介して返された場合は問題ありませんが、else セクションで返された場合var_dump()
は、間違った長さであることが示されます。
var_dump($_POST["postcode"]);
ショー
string(7) "ab1 1ab"
一方
var_dump($class->checkPostcodeFormat($_POST["postcode"]));
ショー
string(8) "ab1 1ab"
関数を介して返されるだけの場合、文字列が長くなる原因は何ですか?