Visitare array associativi

Esistono diverse modalità per visitare gli elementi di un array associativo

Navigazione

Tramite next() e prev() si può spostare un cursore sull’array

function vedi($a)
{
   echo "";
   echo "";
   reset($a);
   for($i=0; $i < count($a); $i++)
   {
      echo "";
     next($a);
   }
   echo "
PosizioneChiaveValore
" . $i . "" . key($a) . "" . current($a) . "
"; }
function vedi_r($a)
{
   echo "";
   echo "";
   end($a);
   for($i=0; $i < count($a); $i++)
   {
      echo "";
      prev($a);
   }
   echo "
PosizioneChiaveValore
" . $i . "" . key($a) . "" . current($a) . "
"; }

Con reset() e end() si decide se partire dall’inizio o dalla fine

Ciclo while

La funzione each() estrae la coppia (chiave, valore) e sposta il cursore

function vediw1($a)
{
   while($x=each($a))
      echo "
" . $x[0] . " => " . $x[1]; // chiave e valore }
function vediw2($a)
{
   while($x=each($a))
   {
      list($k,$v)=$x;
      echo "
" . $k . " => " . $v; } }
function vediw3($a)
{
   while(list($k,$v)=each($a))
      echo "
" . $k . " => " . $v; }

La funzione list(...) estrae il contenuto di un array e lo assegna ordinatamente alle variabili in elenco.
In questo caso estrae chiave e valore e le assegna a $k e $v.

Ciclo foreach

Il costrutto foreach() è una versione compatta del while() combinato con each() e list()

function vedif1($a)
{
   foreach($a as $v)
      echo "
" . $v; // solo il valore... }
function vedif2($a)
{
   foreach($a as $k => $v) // chiave e valore
      echo "
" . $k . " => " . $v; }