ADS - GoldenWeb.it Directory "Premium" Links

Risanamento Edifici - Risparmio Energetico
Casaswiss è una società specializzata nel risanamento degli edifici.
Grafica 3B
Grafica 3B si occupa di comunicazione a 360° per le aziende di Milano e non solo. Un team di esperti di marketing in grado di studiare i bisogni, progettare e sviluppare un piano pubblicitario strategico e mirato ad aumentare la visibilità. Ci occupiamo nello specifico dello studio grafico di loghi, cataloghi, menu, banner e più in generale della definizione di una brand identity con servizio di stampa digitale piccoli e grandi formati. L'agenzia opera anche nel settore web
Ritiro auto incidentate
Compriamo auto incidentate fuse. Azienda Italiana compra auto usate incidentate, auto sinistrate o fuse, macchine con problemi di meccanica, le spese sono a carico dell'acquirente ritiro e passaggio. visita il nostro sito internet per avere una proposta d'acquisto senza impegno
Bet365 bookmaker aams
Codice Bonus bet365: per te bonus benvenuto fino a 100€. Scommetti sullo sport 2018! - si applicano T&C (gioca responsabile 18+) - registrati qui!

Inserisci il tuo sito nella directory...

Manuale PHP


foreach

(PHP 4, PHP5)

Il costrutto foreach fornisce un modo semplice per iterare su array. foreach funziona solo su array e oggetti, e rilascerà un errore quando si tenta di utilizzarlo su una variabile con un diverso tipo di dati o una variabile non inizializzata. Ci sono due tipi di sintassi:

foreach (array_expression as $value)
    istruzioni
foreach (array_expression as $key => $value)
    istruzioni

Il primo modulo fa il loop sull'array dato da array_expression. Su ogni iterazione, il valore dell'elemento corrente viene assegnato $value e il puntatore interno avanza di una posizione (quindi alla prossima iterazione, starete guardando l'elemento successivo).

Il secondo modulo assegnerà in aggiunta la chiave degli elementi correnti alla variabile $key ad ogni iterazione.

È possibile personalizzare l'iterazione dell'oggetto.

Note:

Quando foreach per prima cosa inizia l'esecuzione, il puntatore interno dell'array è automaticamente posto sul primo elemento dell'array. Questo vuol dire che non bisogna chiamare la funzione reset() prima di un ciclo foreach.

Siccome foreach si basa sul puntatore interno dell'array, cambiarlo, all'interno del loop può portare ad un comportamento inaspettato.

Per poter modificare direttamente gli elementi dell'array all'interno del loop, far precedere $value da &. In questo caso il valore verrà assegnato dalla referenza.

<?php
$arr 
= array(1234);
foreach (
$arr as &$value) {
    
$value $value 2;
}
// $arr è adesso array(2, 4, 6, 8)
unset($value); // elimina l'ultimo elemento 
?>

È possibile referenziare $value solo se l'array iterato può essere referenziato (p.es. se è una variabile). Il seguente codice non funzionerà:

<?php
foreach (array(1234) as &$value) {
    
$value $value 2;
}
?>

Attenzione

La referenza di un $value e l'ultimo elemento dell'array rimangono anche dopo il ciclo foreach. È consigliabile eliminarli tramite la funzione unset().

Note:

foreach non supporta la possibilità di sopprimere i messaggi di errore usando '@'.

Probabilmente ti sarai accorto che le seguenti funzionalità sono identiche:

<?php
$arr 
= array("one""two""three");
reset($arr);
while (list(, 
$value) = each($arr)) {
    echo 
"Value: $value<br />n";
}

foreach (
$arr as $value) {
    echo 
"Value: $value<br />n";
}
?>

Anche le seguenti sono funzionalmente identiche:

<?php
$arr 
= array("one""two""three");
reset($arr);
while (list(
$key$value) = each($arr)) {
    echo 
"Key: $key; Value: $value<br />n";
}

foreach (
$arr as $key => $value) {
    echo 
"Key: $key; Value: $value<br />n";
}
?>

Altri esempi d'uso:

<?php
/* foreach example 1: value only */

$a = array(12317);

foreach (
$a as $v) {
    echo 
"Current value of $a: $v.n";
}

/* foreach example 2: value (with its manual access notation printed for illustration) */

$a = array(12317);

$i 0/* for illustrative purposes only */

foreach ($a as $v) {
    echo 
"$a[$i] => $v.n";
    
$i++;
}

/* foreach example 3: key and value */

$a = array(
    
"one" => 1,
    
"two" => 2,
    
"three" => 3,
    
"seventeen" => 17
);

foreach (
$a as $k => $v) {
    echo 
"$a[$k] => $v.n";
}

/* foreach example 4: multi-dimensional arrays */
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";

foreach (
$a as $v1) {
    foreach (
$v1 as $v2) {
        echo 
"$v2n";
    }
}

/* foreach example 5: dynamic arrays */

foreach (array(12345) as $v) {
    echo 
"$vn";
}
?>