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!

  1. 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?

    1. Ciao Giacomo questi tipi di “scelte” stilistiche sono troppo personali, ogni programmatore alla fine ti dirà un metodo diverso, scegli la funzione che preferisci e che reputi più adatta a quella situazione. Con l’esperienza vedrai che sarai in continua evoluzione 😉 è anche questo il bello di questo lavoro dopotutto.

  2. 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!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

megapack-risorse-per-web-designer-e-developer
Up Next:

Megapack di risorse per web designer e developer - Anno 2012

Megapack di risorse per web designer e developer - Anno 2012