Dezvoltare web în PHP: script simplu și eficient pentru calculul vârstei pe baza datei de naștere

O funcție utilă care vă poate ajuta să determinați vârsta exactă a unei persoane pe baza unei date calendaristice primite sub formate diverse (cum ar fi zi/lună/an, an/zi/lună etc.) este prezentată mai jos.

În cadrul funcției sunt utilizați următorii parametri:

  • $var – reprezintă data calendaristică transmisă sub formă de șir text (de exemplu "15/08/1990");
  • $type – definește tipul și succesiunea datelor primite în primul parametru. Se folosesc notațiile: d pentru zi, m pentru lună și y pentru an. De exemplu, transmiterea șablonului "d/y/m" indică faptul că data transmisă în $var este structurată sub forma zi/an/lună.

Codul sursă al funcției în PHP

<?php
function make_age($var, $type) {
    $date = explode("/", $type);
    $number = explode("/", $var);
    $count = count($number);
    $month = 0;
    $year = 0;

    for ($i = 0; $i < $count; $i++) {
        if ($date[$i] == "d") {
            if ($number[$i] > date("d")) {
                $month = $month + 1;
            } else {
                $month = $month - 1;
            }
        }
        if ($date[$i] == "y") {
            $year = date("Y") - $number[$i] + $year;
        }
        if ($date[$i] == "m") {
            if (($number[$i] + $month) < date("m")) {
                // Luna este anterioară lunii curente
            } else {
                $year = $year - 1;
            }
        }
    }

    return $year;
}
?>

Exemplu de utilizare

<?php
// Exemplu de apel pentru formatul zi/lună/an
$data_nastere = "25/12/1990";
$format = "d/m/y";

$varsta = make_age($data_nastere, $format);
echo "Vârsta este: " . $varsta . " ani.";
?>

1 comentariu

Lasă un comentariu