Condizioni IF, ELSE e ELSE IF in PHP

Alla base della programmazione abbiamo le condizioni IF, ELSE e ELSE IF, poiché in qualsiasi logica è fondamentale dare le istruzioni al codice per qualsiasi eventualità.

IF

Andiamo a vedere a cosa serve l’IF e cosa significa:

Sintassi

<?php

$var=1;

if($var>0){

	//CODICE DA ESEGUIRE SE LA CONDIZIONE È VERA
	echo "La variabile è maggiore di 0 il suo valore è: ".$var;

}	

else{
	
	//CODICE DA ESEGUIRE SE LA CONDIZIONE DELL'IF È FALSA
	echo "La variabile non è maggiore di 0 il suo valore è: ".$var;

}


?>
Risultato:

La variabile è maggiore di 0 il suo valore è: 1

Spiegazione

L’IF è la condizione più semplice che possiamo trovare nella programmazione, ma è quella più importante.

L’IF, dall’inglese SE, è un’istruzione che, se dimostrata vera, esegue una funzione o visualizza informazioni.

Di cosa ha bisogno l’IF per restituirci VERO o FALSO?

Semplice! Ha bisogno di un’espressione all’interno di due parentesi tonde e come vediamo dalla sintassi sopra, possiamo confrontare delle variabili con numeri, stringhe, valori booleani (true o false)…

Possiamo inoltre utilizzare i famosi operatori logici, che servono a concatenare più espressioni e secondo le seguenti condizioni l’IF restituirà VERO o FALSO:

&& (AND): Questo operatore logico dice all’IF: “Restituisco VERO solo se l’espressione alla mia sinistra è VERA e se l’espressione alla mia destra è VERA”

|| (OR): Questo operatore dice all’IF: “Restituisco VERO a patto che una delle due espressioni, che sia quella alla mia sinistra o che sia quella alla mia destra, sia VERA, oppure entrambe TRUE”

Else

Altro tassello fondamentale di questa istruzione è il suo compagno l’ELSE e, come si può evincere dalla sintassi sopra scritta, verrà eseguito il codice all’interno dell’Else solo se il suo IF non è rispettato quindi se l’espressione all’interno dell’IF restituirà FALSO.

Questa istruzione può essere facoltativa.

ELSEIF

Sintassi

<?php

$var=0;

if($var>0){

	//CODICE DA ESEGUIRE SE LA CONDIZIONE È VERA
	echo "La variabile è maggiore di 0 il suo valore è: ".$var;
}	

elseif($var==0){
	
	//CODICE DA ESEGUIRE SE LA CONDIZIONE DELL'IF È FALSA E SE LA CONDIZIONE DELL'ELSEIF È VERA
	echo "La variabile è uguale a 0 e il suo valore è: ".$var;

}


?>
Risultato:

La variabile è uguale a 0 e il suo valore è: 0

Spiegazione

L’ELSEIF, dall’inglese ALTRIMENTI SE, è un’istruzione che, proprio come l’else, accompagna l’IF, pertanto non può essere dichiarato da solo, ma aggiunge una condizione all’else che a sua volta si comporterà proprio come un IF.

Se sia le condizioni dell’IF che quella dell’ELSE IF sono vere, il codice darà la precedenza all’IF.

Anche questa istruzione è facoltativa.

ALTRI MODI PER DICHIARARE L’IF

Per dichiarare l’IF è possibile scriverlo in maniera classica con le parentesi oppure è possibile usare la seguente tipologia di dichiarazione, tra l’altro molto comodo quando ci alterniamo tra PHP e HTML.

<?php

$var=1;

if($var>0):

	//CODICE DA ESEGUIRE SE LA CONDIZIONE È VERA
	

elseif($var==0):
	
	//CODICE DA ESEGUIRE SE LA CONDIZIONE DELL'IF È FALSA E SE LA CONDIZIONE DELL'ELSEIF È VERA

endif;


?>

Andando a rimuovere le parentesi rimane più comodo scrivere il codice evitando di andare in contro a errori di sintassi fastidiosi e noiosi.

Ciclo FOR in PHP

I cicli sono uno degli elementi cardine della programmazione e non fa eccezione il PHP. I cicli permettono di ripetere delle operazioni in modo ripetitivo per X volte.

Esistono diverse tipologie di cicli come foreach, for e while.

In questo articolo vedremo il ciclo FOR in PHP.

Sintassi

for ($i = 1; $i <= 5; $i++) {
	$risultato = 1 + $i;
	echo "Il risultato è: $risultato <br/>";
}

Il risultato sarà il seguente:

Il risultato è: 2
Il risultato è: 3
Il risultato è: 4
Il risultato è: 5
Il risultato è: 6

Spiegazione

Per utilizzare il ciclo for in php è necessario utilizzare la sintassi citata poco fa, ovvero for con all’interno delle parentesi le istruzioni per definire come dovrà comportarsi il ciclo, ovvero quante iterazioni dovrà fare e cosa dovrà fare ad ogni iterazione.

Le istruzioni inserite tra parentesi sono 3:

  • La prima istruzione viene eseguita solo una volta, la prima volta che viene eseguito il ciclo
  • La seconda è la condizioni che viene eseguita ad ogni iterazione del ciclo e deve essere sempre rispettata (TRUE)
  • La terza ed ultima, invece, viene eseguita alla fine di ogni ciclo.

Se la seconda istruzione risulta falsa, il ciclo smette le sue iterazioni e prosegue con le istruzioni successive.

Quando invece la condizione è vera (TRUE), allora il ciclo eseguirà le istruzioni all’interno delle parentesi graffe {}.

Se la seconda istruzione risulterà falsa sin da subito, il contenuto tra parentesi graffe non verrà mai eseguito.

Al contrario, se la condizioni risulterà sempre vera, si verificherà il loop, ovvero una condizione particolare dei cicli che continuerà ad eseguire il contenuto tra perentesi all’infinito.

Torniamo all’esempio di prima, cosa abbiamo chiesto di fare al ciclo for?

$i = 1 //abbiamo inizializzato un contatore $i uguale al valore 1
$i <= 5 //abbiamo chiesto di verificare se il valore $i è minore o uguale a 5
$i++ // ad ogni iterazioni il ciclo dovrà incrementare di +1 il contatore $i

Se la condizione si verifica, ogni iterazione il ciclo eseguirà le istruzioni all’interno delle parentesi graffe e stamperà a video una riga contente il $risultato della somma del contatore $i + 1.

for ($i = 1; $i <= 5; $i++) {
	$risultato = 1 + $i;
	echo "Il risultato è: $risultato <br/>";
}

Date in PHP: sintassi, funzioni ed esempi pratici

Ad un certo punto della programmazione ci si imbatte nelle date in PHP. Saperle gestire nel modo corretto è fondamentale soprattutto per interfacciarsi al meglio con il database, MYSQL o MONGODB.

echo time();
// restituirà un valore simile a 146973810

In PHP non è possibile recuperare solamente il timestamp attuale, ma possiamo recuperarlo di qualsiasi data, anche nel passato.

echo strtotime("now");
// timestamp corrente

echo strtotime("20 December 2020");
// timestamp del 10 Dicembre 2020

echo strtotime("+1 day");
// timestamp del giorno successivo a quello corrente

Con questo timestamp sarà possibile effettuare delle operazioni o manipolare la data a nostro piacimento.

Per avere la data di oggi, ad esempio, sarà necessario scrivere:

$timestamp = strtotime("now");
echo date('d/m/Y H:i:s', $timestamp);

Il risultato sarà

25/12/2021 14:30:10

Formattazione delle date, come fare?

Un’altra operazione che spesso si conferma molto utile, soprattutto in casi specifici, è sicuramente cambiare il formato della data con uno che preferiamo.

Magari ti serve mostrare la data e l’ora di una certa data ai tuoi utenti con un formato diverso da “d/m/Y H:i:s“.

A tal proposito esistono dei segni (spesso rappresentati con le lettere), che ci permettono di gestire al meglio il formato finale della data.

SimboloDescrizione
dindica i giorni in numeri.
mindica il mese in numeri.
YIndica l’anno con il formato a 4 cifre. Es: 2022
hindica le ore.
iindica i minuti.
sindica i secondi.

La se non specificato, tutti i simboli aggiungeranno uno 0 (zero) iniziale se i numeri sono inferiori a 10.

Esistono poi diversi simboli sempre molto diffusi ed utilizzati:

Simbolo Descrizione
DIndica i primi 3 caratteri del giorno.
jcorrisponde al simbolo “d”, ma non aggiunge uno zero ai numeri minori a 10.
FIndica il nome del mese completo in lettere.
yindica solo le ultime due cifre dell’anno.

Infine, per impostare la lingua italiana, se sei su server Linux, ti basterà aggiungere in cima la tuo codice:

$localString = "it_IT"
setlocale(LC_TIME, $localString);

Let’s code!