Visualizzazione dei risultati da 1 a 5 su 5

Discussione: riordinare un array

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    278

    riordinare un array

    Buonasera a tutti voi del forum!!

    Ho un piccolo problema che purtroppo non sono riuscita a risolvere:
    allora ho un array:
    Codice PHP:
    $a=array('uno','due','tre','quattro');
     
    $key=array_search('tre',$a);
    unset(
    $a[$key]);


    for(
    $i=0;$i<count($a);$i++)
    {
    echo 
    $a[$i]."
    "
    ;

    per necessita' per esempio elimino dall'array il valore 'tre',quando vado a visulizzare il contenuto dell'array dopo aver eliminato l'elemento ottengo questo errore:

    Notice: Undefined offset: 2 in C:\www\prova.php on line 11

    come posso riordinare l'array per non avere questo messaggio?
    grazie per l'aiuto!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    323
    Codice PHP:
    <?php   
    $array 
    = array('1','2','3','4');  
    //Qui aggiungici il array_search
    unset($array[2]);  //elimino il valore tramite la posizione
    array_values($array);       //riaggiorno l'array
    foreach($array as $key => $value){  //estraggo i dati dell'array e li assegno a $key (posizione) e $value (valore)
    echo $value "
    "
    //Stampo i valori degli array 
    }       
    ?>

    Dimmi se hai problemi...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    278
    Ciao, grazie per la risposta!!
    In pratica quello che mi hai postato è come ho fatto io e va bene,pero' non capisco perche' con il ciclo for mi da' il valore indefinito mentre col foreach non ci sono problemi perche'??

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    323
    Te lo spiego immediatamente, allora quando avvaivi il cilo for non prendevi i valori dell'array in questione, ma bensì le posizioni dei valori......
    Tramite il foreach invece andiamo ad associare $key e $value.... ovvero come citato nel codice $key la posizione e $value il suo rispettivo valore.....
    In questa maniera quindi andremo a leggere tutti i valori dell'array....Inoltre ti dava quell'errore perchè (credo) non sincronizzavi l'array dopo la distruzione di un valore.....
    Dimmi se qualcosa non ti è chiaro....

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    278
    Perfetto!grazie ancora.....

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.