isDay() – una funzione PHP che ci dice se oggi è un determinato giorno della settimana

Loading

Il PHP sin dalle sue prime versioni mette a disposizone una funzione di formattazione delle date, la funzione date(). Questa funzione prende prende due parametri, il primo è una stringa che rappresenta il formato della data che vogliamo produrre, il secondo parametro è opzionale ed è un timestamp che rappresenta la data di cui vogliamo produrre il formato.
Se fosso poco chiaro, per formato di una data si intende generalmente l’ordine in cui si vogliono far apparire giorno, mese e anno e i separatori.
Alcuni esempi di formati possono essere: 12/10/1974 , 29-3-74, 2014-12-31 ecc.

La funzione date() ha una caratteristica particolare, se omenttiamo il secondo parametro, cioè il timestamp che rappresenta la data, viene presa come data da formattare la data odierna.
 
Sfruttando questa caratteristica costruiamo la nostra funzione isDay() che riceve come parametro un numero da 1 a 7, dove 1 rappresenta il lunedì e 7 la domenica, e restituisce true se il giorno attuale corrisponde al valore passato.
 

function isDay($dayNum){
    $today = date('w');
    if ($today==0) $today=7;
    return ($dayNum==$today);
}

 
Come si nota questa funzione non contiene i controlli sulla correttezza del paramentro passato, mo sono molto semplici da aggiungere.

Questa funzione puo tornare comoda se vogliamo eseguire un dato codice un dato giorno della settimana

if (isDay(1)) {
    //codice da eseguire il lunedì
}

if (isDay(6)) {
    //codice da eseguire il sabato
}