Guida PHP base – uso del ciclo IF, ELSE, ISSET, EMPTY

Continua la nostra guida PHP di base, oggi ci dedichiamo ad analizzare degli strumenti fondamentali di PHP: IF,ISSET ed ELSE.  Scopriamo come si usano.

[lightgrey_box]

SOMMARIO GUIDA

Parte 1: Iniziare con PHP

Parte 2: Funzioni per gestire le stringhe

Parte 3: Trucchi PHP e MYSQL

Parte 4: Guida Cicli IF, ELSE, ISSET, EMPTY

Parte 5: Gli array PHP

Parte 6: i cicli PHP: Do,While – For – Foreach

Parte 7: Guida ai cookie PHP

[/lightgrey_box]

La funzione IF è un pilastro portante di tutto PHP e, più astrattamente, dei linguaggi di programmazione in generale. IF svolge la funzione di controllo e permette di eseguire porzioni codice SOLO SE l’istruzione al suo interno risulta VERA (true). Vediamo insieme come comporre il nostro primo ciclo IF in modo corretto.

Funzione IF di base

<?php

if( $a > 100){

echo "La variabile è maggiore di 100.";

//Il codice echo viene eseguito SOLO SE la variabile $a è maggiore di 100

} ?>

Come potete vedere la sintassi è molto semplice: <?php  if(condizione){ istruzioni da eseguire } ?>

Ciclo IF ed ELSE per controlli più accurati

Oltre al semplice  IF il più delle volte i programmatori usano l’abbinamento IF ed ELSE per controllare e fare eseguire determinati blocchi di codice a seconda di certe condizioni. Ecco un esempio pratico:

<?php

$a = 10;

$b = 5;

if( $a > $b ){

echo "La variabile A è maggiore di B.";

} else {

echo "La variabile B è maggiore di A.";

}//fine ciclo

?>

In questo caso particolare come vedete, il controllo esegue il primo codice echo solo se $a è maggiore di $b ALTRIMENTI (else) esegue l’ultimo echo. Nulla ci vieta ovviamente di usare l’ultimo else finale per un fallback nel caso nessuna delle condizioni precedenti fosse vera. Ecco un esempio:

<?php

$a = 10;

$b = 5;

if( $a > $b ){

echo "La variabile A è maggiore di B.";

} else if( $b > $a ){

echo "La variabile B è maggiore di A.";

} else {

echo "Fallback.";

}//fine ciclo

?>

 In questo caso specifico la fallback dell’ultimo else, di fatto non ha molto senso se ci pensate, in quanto, matematicamente, o si avvera la prima ipotesi (a>b) o la seconda (b>a). In altri casi meno “sicuri” e meno matematici però è sempre buona norma predisporre un messaggio di alert nel caso non si avverassero le prime ipotesi.

Uso della funzione ISSET

La funzione isset serve per verificare l’esistenza di una variabile ed il suo uso è strettamente legato ad IF. Ecco un esempio pratico del suo uso:

$_POST['myVar'];

// Prima dell'utilizzo $_POST['myVar']
if (isset($_POST['myVar']))
{
          // Istruzioni se $_POST['myVar'] esiste
}
[button link=”http://www.targetweb.it/verificare-lesistenza-di-piu-variabili-con-isset-php/” color=”blue” target=”blank” size=”large”]ISSET per variabili multiple[/button]  [button link=”http://www.targetweb.it/errore-php-undefined-index-ecco-come-risolverlo/” color=”blue” target=”blank” size=”large”]Risolvere l’errore PHP undefined INDEX con ISSET[/button]

Uso della funzione EMPTY

Una funzione similare a prima vista ma in realtà profondamente diversa è EMPTY() di PHP. Empty ci permette di verificare se la variabile è vuota.

<?php if (empty($a)){ echo "variabile vuota";} ?>

In alternativa se volete evitare di usare empty potete scrivere in questo modo:

<?php if($a == ""){echo "variabile vuota";} ?>

Scrittura alternativa del ciclo

La struttura IF consente anche una scrittura alternativa, che personalmente, uso per dividere meglio le porzioni di codice senza dover utilizzare troppe parentesi graffe che, oltre a “sporcare il codice” possono portare a dimenticanze (chiusura non data etc).

Ecco la struttura alternativa del ciclo IF

<?php if(isset($a)): ?>

//Codice primo blocco

<?php else: ?>

//Codice secondo blocco

<?php endif; ?>

Come vedete vengono “evitate” le parentesi graffe. Per chiudere il ciclo basterà specificare endif; alla fine dei blocchi di codice.

Conclusioni

Spero che questo articolo vi sia servito per avere un’infarinatura generale delle potenzialità di IF, ELSE, ISSET ed EMPTY. Vi invito a visionare tutte le nostre guide tematiche o a cercare direttamente nelle apposite sezioni l’articolo di cui avete bisogno.

Se ti è piaciuto questo articolo condividilo sui tuoi social network preferiti!

0 0 voti
Valutazione dell'articolo
Iscriviti
Notificami
guest

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

3 Commenti
Vecchi
Più recenti Le più votate
giacomo
giacomo
13 anni fa

ciao, ho bisogno di un consiglio.
Ho un elenco che prende dati da un database, un form per l’inserimento e un altro per la modifica.
Inizialmente erano 3 pagine separate richiamate all’occorrenza ora le ho unificate in un unica pagina e ho usato: if (isset($_GET[‘act’]))
if ($_GET[‘act’]==’add’) ..
if ($_GET[‘act’]==’mod’) …
else … echo ‘elenco’

Va bene come struttura di una pagina php o è totalmente sbagliata? C’è qualche metodo più pulito di riscrivere il tutto? conviene avere 3 pagine separata per le 3 azioni?

davide
davide
10 anni fa

Ciao Riccardo,
Complimenti per l’articolo, se invece volessi stampare a video(echo) alcune scritte solo se una condizione è vera, mi spiego sto sviluppando un quiz se l’utente riesce a fare almeno 8/10 corrette riceve un buono-sconto, quest’ultimo però deve essere visualizzato solo se la condizione è true, come posso fare?
Grazie mille in anticipo!

Rimani Aggiornato
Nuove idee, zero Spam
Ti invieremo solo le ultime novità di articoli o nostri progetti.
Iscrivendoti accetti la nostra privacy poliicy. Una volta iscritto, ricordati di attivare l'iscrizione cliccando sul link ricevuto via mail.
3
0
Esprimete la vostra opinione commentando.x