Io creo di solito delle funzioni generiche e setto in un array l'elenco delle funzioni da richiamare per ogni campo

Ad esempio
Codice PHP:
$controlli = array(
  
"campo1" => "numerico",
  
"campo2" => "numerico",
  
"campo3" => "testolibero",
  
"campo4" => "testolibero",
  
"campo5" => "email"
// eccetera
);
// definisco le funzioni di controllo con lo stesso nome indicato nell'array
function numerico($n// solo numeri
{
  return 
is_numeric($n);
}
function 
testolibero($t// no htmlentities ammesse
{
  
rerurn $t==htmlentities($t);
}
function 
email($e)
{
// eccetera
}

// controllo per vedere se qualche campo non va bene
$campierrati = array();
foreach(
$_POST as $key=>$value)
{
  
$funzione $controlli[$key];
  if(!
$funzione($value))
    
$campierrati[]=$key;

L'array $campierrati conterrà l'elenco dei campi che non rispettano le regole
Devi ovviamente sostituire a "campo1", "campo2" eccetera, i nomi dei campi del tuo form e le funzioni di controllo sono ovviamente semplificate: per i testi avrai dei preg_match o similar... per i numeri avrai dei limiti minimi e massimi e cose così. L'importante è che tutte le funzioni di controllo restituiscano FALSE se il campo non rispetta le regole
In questo modo fai si tutti i controlli, ma definisci la funzione di controllo per ogni tipologia di dato (testo, numero, email ecc) una sola volta e la richiami grazie al nome della funzione definito all'interno dell'array $controlli

Volendo puoi affinare il tutto facendo si che le funzioni di controllo restituiscano qualcosa di più di "true" e "false" ma anche un testo, un codice di errore o quello che vuoi, modificando opportunamente lo script

Non ho inventato nulla, è una soluzione che ho trovato in giro