236 votes

J'ai 2 dates en PHP, comment puis-je exécuter une boucle foreach pour passer en revue tous ces jours ?

Je commence par une date 2010-05-01 et se terminant par 2010-05-10 . Comment puis-je itérer à travers toutes ces dates en PHP ?

1voto

Soteris 92 Points 41
<?php

    $start_date = '2015-01-01';
    $end_date = '2015-06-30';

    while (strtotime($start_date) <= strtotime($end_date)) {
        echo "$start_daten";
        $start_date = date ("Y-m-d", strtotime("+1 days", strtotime($start_date)));
    }

?>

0voto

Victor Nuñez Points 109

Si vous utilisez Laravel et souhaitez utiliser Carbon, la solution correcte serait la suivante :

$start_date = Carbon::createFromFormat('Y-m-d', '2020-01-01');
$end_date = Carbon::createFromFormat('Y-m-d', '2020-01-31');

$period = new CarbonPeriod($start_date, '1 day', $end_date);

foreach ($period as $dt) {
 echo $dt->format("l Y-m-d H:i:s\n");
}

N'oubliez pas d'ajouter :

  • utiliser le carbone \Carbon ;
  • utiliser le carbone \CarbonPeriod ;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X