Introduzione al PHP: condizioni e cicli

Come ogni linguaggio di programmazione che si rispetti, un ruolo fondamentale lo hanno le strutture di controllo if/else e i cicli. Vediamo come utilizzarli in PHP con qualche applicazione introduttiva semplice.

Entriamo nel vivo della programmazione PHP, dopo aver visto come gestire il nostro primo script con la creazione di variabili e stampa a video personalizzata (leggi qui). I cicli in PHP si comportano come in qualsiasi altro linguaggio il nostro studente abbia avuto formazione.

Creiamo sempre uno script/file di testo .php per i nostri test, nella cartella di lavoro del nostro server Apache. Cominciamo con la struttura condizionale.

Un esempio ovviamente semplice. Col PHP posso scegliere di stampare nella mia pagina HTML un messaggio di benvenuto ma parametrizzato secondo una certa soglia. Qui ad esempio, se età è maggiorenne, il messaggio viene stampato con un tag banale di span ma con classe css diversa a seconda del caso.

<!DOCTYPE html>
<html lang="it">
<head>
    <style>
        .green{color: green;} 
        .red{color: red;} 
    </style>
</head>
<body>

<h1>Prova PHP</h1>

<?php   

$eta = 15;

if ($eta >= 18)
    echo "<span class=\"green\">Benvenuto maggiorenne di anni $eta</span>";
else
    echo "<span class=\"red\">Benvenuto minorenne di anni $eta</span>";


?>

</body>
</html>

Il lettore può anche stravolgere il ragionamento precedente e usare una variabile da parametrizzare invece della stringa finale.

$green ="green";
$red= "red";
if ($eta >= 18)
{
   $colore = "green";
}
else
{
  $colore = "red";
}

echo "<span class=\"$colore\">Ciao tizio</span>";

Bene, il potenziale del blocco if credo sia scontato anche come semplice elemento decisionale di codice senza interfaccia html. Usiamolo in un altro contesto. Voglio stampare una piccola tabella con informazioni fittizie, ma voglio automatizzare il processo e stampare righe di colori alterni. Ecco che abbiamo la scusa di vedere il ciclo for, riadattato allo scripting PHP ma che di fatto è identico a quello degli altri linguaggi visti.

<!DOCTYPE html>
<html lang="it">
<head>
    <style>
        .sfondogrigio
        {
         background-color: lightgrey;
         border: 1px solid black;
        }
        table, th, td {border: 1px solid black; border-collapse: collapse;}
    </style>
</head>
<body>


<table>
<tr>
  <th>indice</th><th>Prova</th><th>Test</th>
</tr>

<?php
for ($i =0; $i < 10; $i++)
{
    if ($i % 2 != 0)
        echo "<tr><td>$i</td><td>prova</td><td>test</td></tr>";
    else
        echo "<tr class=\"sfondogrigio\"><td>$i</td><td>prova</td><td>test</td></tr>";
}
?>
</table>
</body>
</html>

Codice intuitivo per chi già mastica programmazione. L’indice del ciclo lo usiamo per capire in che riga ci troviamo, se pari o dispari, e quindi con if stampiamo la riga con la classe personalizzata o meno. L’esempio, è spartano, ma ci serve per comprendere il potenziale di come automatizzare e personalizzare anche il front-end.

Ultima modifica 2 Ottobre 2022