J'ai une fonction pour traiter le "s" à la fin des pluriels et une autre pour convertir un total de secondes en quelque chose de plus intuitif humain. J'essaie d'utiliser la fonction pluriels à l'intérieur du secondstotime pour qu'il dise "1 jour" et "10 jours" par exemple. Notez le "s" à la fin.Utiliser une fonction php à l'intérieur d'une autre fonction php
function plurals($number)
{
if ($number == 1)
{
return '';
}
else
{
return 's';
}
}
function secondstotime($seconds)
{
$dtF = new DateTime("@0");
$dtT = new DateTime("@$seconds");
if ($seconds < 60)
{
return $dtF->diff($dtT)->format('%s seconds');
}
else if ($seconds < 3600)
{
return $dtF->diff($dtT)->format('%i minutes');
}
else if ($seconds < 86400)
{
return $dtF->diff($dtT)->format('%h hours, %i minutes');
}
else if ($seconds < 31536000)
{
return $dtF->diff($dtT)->format('%a days');
}
else
{
return $dtF->diff($dtT)->format('%y years, %a days');
}
}
Comment faire? Je l'ai essayé d'utiliser le code comme cela, mais il ne fonctionne pas:
return $dtF->diff($dtT)->format('%a day'.plurals('%a'));
Vous devez envoyé votre format à la fonction, maintenant que vous envoyez une chaîne .. ** '% a' ** – Naruto