Comment déterminer le statut de week-end d'une date en PHP
Cette question se pose lorsque l'on travaille avec des fonctions qui visent à identifier si une date donnée tombe un week-end. Une de ces fonctions, fournie par l'utilisateur, ne renvoie que de fausses valeurs malgré des paramètres apparemment valides.
Le problème
La fonction fournie, isweekend(), effectue les étapes suivantes :
Cependant, il renvoie "false" quelle que soit la date de saisie.
Le Solution
Il existe deux solutions alternatives pour déterminer avec précision le statut week-end d'une date en PHP :
Pour PHP >= 5.1 :
function isWeekend($date) { return (date('N', strtotime($date)) >= 6); }
Cette solution utilise date('N') pour renvoyer le jour de la semaine sous forme d'entier, où 1 représente lundi et 7 représente dimanche. Il vérifie ensuite si cet entier est supérieur ou égal à 6, indiquant un week-end.
Pour PHP < 5.1 :
function isWeekend($date) { $weekDay = date('w', strtotime($date)); return ($weekDay == 0 || $weekDay == 6); }
Cette solution utilise date('w') pour renvoyer le jour de la semaine sous forme d'entier, où 0 représente le dimanche et 6 représente le samedi. Il vérifie ensuite si le nombre entier est 0 ou 6 pour déterminer si c'est un week-end.
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!