Morpheusweb.it - Risorse per webmaster: script, ASP.NET, C#, Visual Basic .Net, tutorial, asp, javascript, css, php, html, java, ADO, VBScript, forms, frames, Active Server Pages, Dynamic HTML, database, gratis per webmaster e webdesigner

Cicli a PHP

Cicli



Molto spesso, quando scriviamo del codice, vogliamo poter eseguire uno stesso blocco di codice un certo numero di volte. In questi casi si possono utilizzare le istruzioni di loop (ciclo).

In PHP abbiamo le seguenti quattro istruzioni di ciclo:
  • for
  • foreach
  • while
  • do...while
Ciclo for

Possiamo usare l'istruzione for per eseguire un blocco di codice, quando sappiamo a priori quante volte dovrà essere ripetuto.

Sintassi

for (inizializzazione; condizione; incremento)
{
  //codice da eseguire;
}


Per utilizzare un ciclo for dobbiamo:
  1. Inizializzare la variabile contatore.
  2. Controllare la condizione di terminazione.
  3. Eseguire il codice del ciclo.
  4. Incrementare il contatore.
Esempio

<?php
echo "<table border=\"1\">";
echo "<tr><th>Riga</th></tr>";
for ( $i = 1; $i <= 10; $i++)
{
  echo "<tr><td>";
  echo $i;
  echo "</td></tr>";
}
echo "</table>";
?>


Possiamo anche annidare i cicli for

<?php
echo "<table border=\"1\" cellpadding=\"6\">";
echo "<tr><th>*</th>";
for ( $i = 1; $i <= 10; $i++)
{
  echo "<th>" . $i . "</th>";
}
echo "</tr>";
for ( $i = 1; $i <= 10; $i++)
{
  echo "<tr><td><b>" . $i . "</b></td>";
  for ( $j = 1; $j <= 10; $j++)
  {
    echo "<td>";
    echo $i * $j;
    echo "</td>";
  }
  echo "</tr>";
}
echo "</table>";
?>


l'esempio costruisce la classica “tabellina” delle moltiplicazioni.

Condizione ed incremento possono anche essere omesse. Se viene omessa condizione, vuol dire che il ciclo sarà ripetuto all'infinito (a meno che non lo si termini con un istruzione break che vedremo in seguito).

Esempio

for ($i=1;;$i++)
{
  if ($i > 10)
  {
    break;
  }
  echo $i;
}


Ciclo foreach

Permettono di ciclare su un array in modo abbastanza comodo.

Sintassi

Abbiamo due modi per eseguire il ciclo

foreach($array as $valore)
{
  //istruzioni;
}

foreach($array as $chiave => $valore)
{
  //istruzioni;
}


Il primo tipo di foreach, scorre l'array $array utilizzando un puntatore alla posizione corrente, ad ogni iterazione viene assegnato il valore dell'elemento corrente a $valore

Esempio

$myArray = array (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
foreach($myArray as $valore)
{
  echo $valore . "<br>";
}

Il secondo tipo di foreach, invece assegna il valore dell'indice alla variabile $chiave

Esempio

$myArray = array (
                  "uno" => 1,
                  "due" => 2,
                  "tre" => 3,
                  "quattro" => 4,
                  "cinque" => 5,
                  "sei" => 6,
                  "sette" => 7,
                  "otto" => 8,
                  "nove" => 9,
                  "dieci" => 10,
);
foreach($myArray as $chiave => $valore)
{
  echo $myArray[$chiave] => $valore . “<br>";
}


Nota: foreach non lavora sull'array originale, ma ne fa una copia, se vogliamo manipolare l'arrai originale dobbiamo usare each().

Ciclo while

Il ciclo while, esegue le istruzioni al suo interno fintanto che la condizione contenuta nella clausola while è vera. La condizione viene verificata all'inizio del ciclo, ne consegue che se questa dovesse risultare false già dalla prima iterazione, il codice al suo interno non verrebbe mai eseguito.

Sintassi

while (condizione)
{
  //istruzioni;
}


Esempi

<?php
$i=1;
while($i<=10)
{
  echo "Numero " . $i . "<br>";
  $i++;
}
?>

<?php
$i=11;
while($i<=10)
{
  echo "Numero " . $i . "<br>";
  $i++;
}
?>


In questo caso, il blocco di codice all'interno del ciclo non viene mai eseguito.

Ciclo do...while

E' molto simile al ciclo while, con la differenza (sottile, ma importante) che la condizione di uscita viene valutata alla fine del ciclo. Ne consegue che il blocco di codice all'interno di un ciclo do..while verraà eseguito almeno una volta.

Sintassi

do
{
  //codice;
} while (condizione);


Esempio

<?php
$i=1;
do
{
  echo "Numero " . $i . "<br>";
  $i++;
} while ($i<10);
?>


Esempio

<?php
$i=100;
do
{
  echo "Numero " . $i . "<br>";
  $i++;
} while ($i<10);
?>


In questo caso, anche se la condizione è subito falsa, il codice viene eseguito una volta.

break

break termina immediatamente l'esecuzione di una struttura iterativa.

Se utilizzato in cicli annidati, è possibile passargli un argomento che indica il livello di annodamento del ciclo da interrompere

$i = 0;
while ($i<10)
{
  if ($i==5)
    break;
  echo $i . “<br>”;
}


In questo caso l'esecuzione si interrompe al break e vengono stampati i valori solo fino al 4

continue

continue termina l'esecuzione dell'iterazione corrente di un ciclo e passa a quella successiva

$i = 0;
while ($i<10)
{
  if ($i==5)
    continue;
  echo $i . “<br>”;
}


In questo caso non viene stampato il valore 5


Stampa la pagina


 

Inizio pagina

risorse per webmaster

Tutorial PHP


manuale php, php tutorial if, php tutorial session, php tutorial string, php tutorial upload, tutorial in php, tutorial mysql php, tutorial php, tutorial php download, tutorial php mysql, manuali php, php try catch, Variabili php, Operatori php, Server Side Includes php, if then php, while php, for php, php Forms, php Sessioni e Cookies, Funzioni php, Programmazione ad Oggetti con php, Eccezioni php, Array php, Stringhe php, Funzioni per le Date php Funzioni Ftp php, Funzioni Http php, Funzioni per le Immagini php, Funzioni Matematiche php, php e Database Odbc, Funzioni Mysql php, php Files

PHP


ASP.NET, guida, Tutorial,




Vai nel sito Morpheusweb.it - Risorse per Webmaster
asp.net, vb.net, dotnet

Vai nel sito Morpheusweb.it - Risorse per Webmaster
asp, ASP.NET

Morpheusweb.it - manuale php, php tutorial if, php tutorial session, php tutorial string, php tutorial upload, tutorial in php, tutorial mysql php, tutorial php, tutorial php download, tutorial php mysql, manuali php, php try catch, Variabili php, Operatori php, Server Side Includes php, if then php, while php, for php, php Forms, php Sessioni e Cookies, Funzioni php, Programmazione ad Oggetti con php, Eccezioni php, Array php, Stringhe php, Funzioni per le Date php Funzioni Ftp php, Funzioni Http php, Funzioni per le Immagini php, Funzioni Matematiche php, php e Database Odbc, Funzioni Mysql php, php Files