If you only want the additional field to show if the check box is clicked, then you need to use JavaScript, not PHP, to do that. Since PHP is a server-side language, everything that it does requires a page refresh. JavaScript, on the other hand, is a client-side language, and so can do things like that.
If you want the additional field to always show, and then check to see if it has a value when the form is submitted, then you can check that on the page where the form data is sent to, by doing a
if (isset($_POST['City'])) {
//do this;
}