15 votes

Comment créer un tableau de noms de jours de la semaine en php ?

Je sais que c'est stupide, mais comment dois-je faire ? Je voudrais créer un tableau de sept jours par le biais de PHP. Ce que je veux dire, c'est qu'il s'agit des sept jours de la semaine. Je ne veux pas les écrire comme lui :

sunday monday tuesday ...etc

et les jours commenceront à partir du dimanche, ce qui signifie que si nous sommes aujourd'hui le 29 mars (lundi), le système saisit automatiquement la date actuelle et crée un tableau de jours de semaine à partir du dimanche.

le tableau sera toujours de cette façon

 $weakarray=("sunday","monday",......,"saturday");

1voto

reko_t Points 22121
$now = time();
$days = array();
for ($i = 0; $i < 7; $i++) {
    $days[] = strftime('%A', $now);
    $now += 60*60*24;
}

1voto

edeoleo Points 11
function dias_semana($days) {
    $days=explode(',',$days);
    $semana="";
    foreach ($days as $key=>$day){ 
        $semana.=dia_semana($day)."<br​>";
    }
    return $semana;

}
function dia_semana($dia) {
    $days = array(
        'Sunday',
        'Monday',
        'Tuesday',
        'Wednesday',
        'Thursday',
        'Friday',
        'Saturday'
    );
    return $days[$dia];

}

0voto

deceze Points 200115
$days = array();
for ($x = 0; $x < 7; $x++) {
    $days[] = date('l', strtotime("+$x days", strtotime('2010-03-28')));
}

Sérieusement, à moins que votre question ne soit mal comprise, je suis tout à fait d'accord avec la réponse de Yacoby.

0voto

Nicolò Martini Points 1731

Utiliser le DateTime objet

$date = new DateTime();
$weekdays = array();
for($i=0; $i<7; $i++){
    $weekdays[] = $date->format('l');
    $date->modify('+1 day');
}

Si vous voulez commencer par le dimanche, créez un DateTime avec un jour de dimanche (par exemple, hier) :

$date = new DateTime('2010-03-28');

0voto

ShapCyber Points 399

Réponse de TuiTalk de référence : voici comment vous pouvez l'utiliser.

Choisissez simplement comment vous voulez l'utiliser, il y a trois utilisations possibles.

<?php
$timestamp = strtotime('next Sunday');
$days = array();
for ($i = 0; $i < 7; $i++) {
    $days[] = strftime('%A', $timestamp);
    $timestamp = strtotime('+1 day', $timestamp);
    echo date("D",$timestamp)."<br>";
    //Mon<br>Tue<br>Wed<br>Thu<br>Fri<br>Sat<br>Sun<br>
    echo date("l",$timestamp)."<br>";
    //Monday<br>Tuesday<br>Wednesday<br>Thursday<br>Friday<br>Saturday<br>Sunday<br>
    echo date("d",$timestamp)."<br>";
    //02<br>03<br>04<br>05<br>06<br>07<br>08
}

?>

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