Calcola il Codice Fiscale
1, '1' => 0, '2' => 5, '3' => 7, '4' => 9, '5' => 13, '6' => 15, '7' => 17, '8' => 19, '9' => 21, 'A' => 1, 'B' => 0, 'C' => 5, 'D' => 7, 'E' => 9, 'F' => 13, 'G' => 15, 'H' => 17, 'I' => 19, 'J' => 21, 'K' => 2, 'L' => 4, 'M' => 18, 'N' => 20, 'O' => 11, 'P' => 3, 'Q' => 6, 'R' => 8, 'S' => 12, 'T' => 14, 'U' => 16, 'V' => 10, 'W' => 22, 'X' => 25, 'Y' => 24, 'Z' => 23 ]; // Calcola la somma dei valori dei caratteri pari for ($i = 1; $i < 15; $i += 2) { $even_sum += $conversion_table[$codice_fiscale[$i]]; } // Calcola la somma dei valori dei caratteri dispari for ($i = 0; $i < 15; $i += 2) { $odd_sum += $conversion_table[$codice_fiscale[$i]]; } // Calcola il valore del carattere di controllo $control_value = ($even_sum + $odd_sum) % 26; $control_character = array_search($control_value, $conversion_table); return $control_character; } // Funzione per calcolare il codice fiscale function calculateCodiceFiscale($name, $surname, $gender, $birthdate, $birthplace) { $codice_fiscale = ''; // Calcola i caratteri per il cognome $cf_surname = substr(strtoupper($surname), 0, 3); // Calcola i caratteri per il nome $cf_name = substr(strtoupper($name), 0, 3); // Calcola i caratteri per l'anno di nascita $cf_year = substr($birthdate, 2, 2); // Calcola il carattere per il mese di nascita $months = [ '01' => 'A', '02' => 'B', '03' => 'C', '04' => 'D', '05' => 'E', '06' => 'H', '07' => 'L', '08' => 'M', '09' => 'P', '10' => 'R', '11' => 'S', '12' => 'T' ]; $cf_month = $months[substr($birthdate, 5, 2)]; // Calcola i caratteri per il giorno di nascita ed il sesso $day = substr($birthdate, 8, 2); if ($gender === 'M') { $cf_day = $day; } else { $cf_day = (int)$day + 40; } // Calcola i caratteri per il Comune/Stato di nascita // In questo esempio, consideriamo solo le prime 4 lettere del luogo di nascita come codice $cf_birthplace = strtoupper(substr($birthplace, 0, 4)); // Costruisci il codice fiscale parziale $cf_partial = $cf_surname . $cf_name . $cf_year . $cf_month . $cf_day . $cf_birthplace; // Calcola il carattere di controllo $cf_control = calculateControlCharacter($cf_partial); // Costruisci il codice fiscale completo $codice_fiscale = $cf_partial . $cf_control; return $codice_fiscale; } // Calcola il codice fiscale $codice_fiscale = calculateCodiceFiscale($name, $surname, $gender, $birthdate, $birthplace); // Visualizza il risultato echo '';
echo 'Risultato:
'; echo 'Codice Fiscale: ' . $codice_fiscale . '
'; echo '
';
}
?>
'; echo 'Codice Fiscale: ' . $codice_fiscale . '
'; echo '