Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    foreach di array associativi...

    ciao a tutti

    se io ho un hash che ho costruito in questo modo:
    codice:
    $myHash['chiave1'] = 1;
    $myHash['chiave2'] = 2;
    $myHash['chiave3'] = 3;
    $myHash['chiave4'] = 4;
    $myHash['chiave5'] = 5;
    e lo ciclo con un foreach...

    codice:
    foreach($myHash as $k => $v) {
        print "$k adesso vale $v".EOL;
    }
    secondo voi come potrei fare, dentro al foreach, per capire quando il puntatore č all'ultimo elemento?

    grazie 1000...
    Manuel

    View my profile on LinkedIn
    Ubertini: amo solo te!

  2. #2
    Usa la funzione next():
    Codice PHP:
    foreach($myHash as $k => $v) {
    if(!
    next($myHash)) echo 'ultimo elemento';
    // ...

    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  3. #3
    ottimo

    grazie 1000

    Manuel

    View my profile on LinkedIn
    Ubertini: amo solo te!

  4. #4
    mmm non so perō se č la soluzione migliore...stavo guardando e se un valore č a false lo interpreta come ultimo elemento.
    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  5. #5
    in teoria si ma nel mio caso specifico le chiavi sono sempre stringhe per cui dovrebbe andar bene...
    Manuel

    View my profile on LinkedIn
    Ubertini: amo solo te!

  6. #6
    Si ma next restituisce il valore quindi nel caso avessi un valore a false tra gli elementi del tuo array potrebbe fallare.
    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  7. #7
    anche i valori sono sempre "pieni", ma ora che mi ci fai pensare potrebbe sorgere un altro problema:
    next() sposta il puntatore avanti di una posizione, il che significa che per ogni ciclo del foreach di avrebbe un salto in avanti di 2 posizioni, e questo č un problema

    cercherō un altra strada

    grazie comunque
    Manuel

    View my profile on LinkedIn
    Ubertini: amo solo te!

  8. #8
    Potresti fare anche cosė:

    Codice PHP:
    $myHash['chiave1'] = 1;
    $myHash['chiave2'] = 2;
    $myHash['chiave3'] = 3;
    $myHash['chiave4'] = 4;
    $myHash['chiave5'] = 5;

    $i 0;
    $nElementi count($myHash);
    foreach(
    $myHash as $key => $val)
    {
    $i++;
    echo 
    $val ' ';
    if(
    $i >= $nElementi) echo "Ultimo Elemento";


  9. #9
    ottimo si questa soluzione č decisamente pių pratica

    thanx

    Manuel

    View my profile on LinkedIn
    Ubertini: amo solo te!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.