Maison >développement back-end >tutoriel php >Comment puis-je calculer avec précision l'âge d'une personne en PHP ?

Comment puis-je calculer avec précision l'âge d'une personne en PHP ?

DDD
DDDoriginal
2024-12-19 14:55:11389parcourir

How Can I Accurately Calculate a Person's Age in PHP?

Calcul de l'âge en PHP

À l'origine, la question tournait autour d'un script PHP défectueux permettant de calculer l'âge d'une personne en fonction de sa date de naissance ( DOB) au format jj/mm/aaaa. Le problème avec la fonction fournie résidait dans une boucle while infinie, soulevant des inquiétudes quant à la fiabilité.

Heureusement, il existe une approche plus fiable pour calculer l'âge à l'aide de PHP :

<?php
  //date in mm/dd/yyyy format; or it can be in other formats as well
  $birthDate = "12/17/1983";
  //explode the date to get month, day and year
  $birthDate = explode("/", $birthDate);
  //get age from date or birthdate
  $age = (date("md", date("U", mktime(0, 0, 0, $birthDate[0], $birthDate[1], $birthDate[2]))) > date("md")
    ? ((date("Y") - $birthDate[2]) - 1)
    : (date("Y") - $birthDate[2]));
  echo "Age is:" . $age;
?>

Dans ce script :

  • La date de naissance d'entrée est divisée en mois, jours et années individuels.
  • La fonction mktime convertit la date de naissance en un horodatage Unix.
  • La fonction de date est utilisée pour extraire les composants du mois et du jour de la date actuelle.
  • Le calcul de l'âge final garantit l'exactitude en considérant à la fois la différence en années et si l'anniversaire de la personne est passé dans l'année en cours.

Cette approche calcule efficacement l'âge et évite le problème de boucle infinie rencontré dans la précédente fonction.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn