Maison >développement back-end >tutoriel php >Pourquoi ma vérification de date de week-end PHP renvoie-t-elle toujours False ?
Vérification des dates de week-end en PHP
En essayant de déterminer si une date donnée tombe pendant un week-end, vous avez remarqué que votre fonction existante renvoie systématiquement « faux ». Examinons votre code et comprenons la raison de ce comportement apparemment erroné.
Le défi réside dans la façon dont vous analysez la date. Votre code utilise la fonction date() pour extraire le jour de la semaine sous forme de chaîne (par exemple, « samedi » ou « dimanche »), puis le compare à ces chaînes exactes. Cette approche peut être problématique en raison du respect de la casse et de la possibilité de fautes de frappe.
Approche améliorée :
Au lieu de cela, vous pouvez exploiter les fonctions de date intégrées de PHP pour simplifier cela tâche. Voici quelques solutions recommandées :
Pour PHP 5.1 et versions ultérieures :
function isWeekend($date) { return (date('N', strtotime($date)) >= 6); }
Cette fonction utilise la fonction date('N') pour récupérer le jour de la semaine sous forme d'entier (1-7), où 6 et 7 représentent respectivement samedi et dimanche. En comparant le résultat à 6, vous pouvez déterminer avec précision si la date tombe un week-end.
Pour les versions antérieures de PHP :
function isWeekend($date) { $weekDay = date('w', strtotime($date)); return ($weekDay == 0 || $weekDay == 6); }
Pour les versions PHP antérieures à 5.1, vous pouvez toujours obtenir le jour de la semaine sous forme d'entier en utilisant date('w'). Dans ce cas, vous devrez vérifier le dimanche (0) et le samedi (6) comme jours de 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!