Ciao, ho modificato così
Codice PHP:
<?phpinclude 'functions.php';
if (
$_POST){
  
$data['success'] = true;   $_POST  multiDimensionalArrayMap('cleanEvilTags'$_POST);   $_POST  multiDimensionalArrayMap('cleanData'$_POST);    $error false;  $obbligatori = array('name','email','birth');//e tutti quelli che non possono mancare  foreach ($$obbligatori as $fieldName) {      if( !$_POST[$fieldName] || trim($_POST[$fieldName])=='' ) $data['success'] = false;//al primo campo mancante qualcosa e' stato omesso  }
  //Qui metti i controlli particolari tipo email o altri formati
  
if (!preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i"$email)) $data['success'] = false;
  
$name $_POST["name"];  $email $_POST["email"];    $birth $_POST["birth"];  $prov $_POST["prov"];  $city $_POST["city"];  $pho $_POST["pho"];  $imp $_POST["imp"];
$comment $_POST["comment"];
 if(
$data['success'] == true){  $message "Nome & Cognome: $name<br>  Email: $email<br>  Messaggio: $comment <br>  Data di nascita: $birth <br>  Provincia: $prov <br>  Città: $city <br>  Telefono: $pho <br>  Importo: $imp";  $headers "MIME-Version: 1.0" "\r\n";   $headers .= "Content-type:text/html; charset=utf-8" "\r\n";   $headers .= "From: <$emailFrom>" "\r\n";  mail($emailTo$emailSubject$message$headers);  $data['success'] = true;  echo json_encode($data);}
}
empty() usato su un array non serve, è per variabili.
Il solo controllo di POST se esiste o meno va bene.

In $obbligatori metti la lista di quelli che non devono mancare.
Poi metti tutti i controlli particolari.

PS
non so come gestisci l'errore lato utente ma cosi' com'e' vedo che senza POST o con errore non torni nulla come json