stringhe come indice in un array

Ciao a tutti!

Premetto che sono alle prime armi con il php...

E' possibile in un array con stringhe che fungono da indice inserire dei cicli for?

Se sì, qualcuno cortesemente mi può dare delle indicazioni?

Grazie & ciao.

inviato 11 anni fa
agata
X 0 X

utilizza il foreach:

$vett['aa'] = 3;
$vett['bb'] = 5;
$vett['cc'] = 2;

foreach($vett as $indice => $valore)
{
    echo $indice . " = " . $valore . "<br>";
}

questo stamperà:

aa = 3

bb = 5

cc = 2

risposto 11 anni fa
Michele Cotrufo
X 0 X

Anche se un pò tardiva, grazie mille per l'aiuto.

Mi permetto di farti un'altra domanda: se dall'array dell'esempio volessi cercare il valore minimo, c'è un modo per poterlo scorrere?

Io ho cercato di far considerare al programma le chiavi stringhe come indice ma il programma si è "arrabbiato" e mi ha visualizzato un sacco di errori...

In attesa di vs. news auguro una buona serata.

risposto 10 anni fa
agata
X 0 X

riporta lo script che hai usato.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Le ultime "perfomance" le ho cancellate... comunque ho creato un array simile a questo:

$vett['aa'] = 3;

$vett['bb'] = 5;

$vett['cc'] = 2;

foreach($vett as $indice => $valore)

{

    echo $indice . " = " . $valore . "<br>";

}

nel programma che devo fare ho bisogno di trovare il valore minimo, come posso scorrere l'array suriportato visto che le chiavi sono stringhe?

Ho provato ad utilizzare 'key' ma non riesco a fargli indicizzare tutti i valori dell'array e di conseguenza a trovare il minimo.

risposto 10 anni fa
agata
X 0 X

Provo a modificare questa parte di codice:

foreach($vett as $indice => $valore)

{

    echo $indice . " = " . $valore . "<br>";

}

L'idea è questa:

1.Considero una variabile $min in cui inserire il minimo (all'inizio NON definita);

2.al primo ciclo $min non è definita ed assume il valore del primo elemento dell'array;

3.successivamente, scorro l'array e di volta in volta confronto il valore $min precedente con il valore attuale dell'array;

4.se il valore di $min è maggiore di quello dell'array, questo sarà il nuovo minimo, altrimenti coservo il vecchio.

in codice:

<?PHP

$vett['aa'] = 3;
$vett['bb'] = 5;
$vett['cc'] = 2;


foreach($vett as $indice => $valore)
{
   if (!isset($min)){
      $min=$valore;
   }
   elseif ($min>$valore){
      $min=$valore;
      $ind=$indice;
   }
}

echo "Il minimo è ".$min." (indice: ".$indice.").";
?>

 :bye:

risposto 10 anni fa
Nico Colonna
X 0 X

per trovare il più piccolo tra i valori di un array associativo basta:

$minimo = min(array_values($vett))

se poi vuoi sapere a quale chiave corrisponde il minimo basta:

$array_delle_chiavi_con_il_minimo = array_keys ( $vett , $minimo )

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda