Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Scream
    Registrato dal
    Apr 2002
    Messaggi
    228

    [array] Raggruppare array con valori comuni

    Ciao a tutti, ho un array fatto in questo modo
    codice:
    array('2010-01-12 testo','2010-02-15 testo','2008-02-23 testo','2011-05-16 testo', ecc.)
    Vorrei stampare una cosa così

    anno 2008
    2008-02-23 testo

    anno 2010
    2010-01-12 testo
    2010-02-15 testo

    anno 2011
    2011-05-16 testo

    Qualcuno mi può aiutare?

    Nota: ho modificato il subject, ma la scritta urgente non viene tolta. ho premuto erroneamente invio prima di correggere il titolo del post (come vedete manca anche [array prima del ] )

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Dovresti scorrere tutto l'array leggendo l'anno e costruire un nuovo array con i dati raggruppati.

    Provo a farti un esempio.
    Tu hai:
    Codice PHP:
    $array_originale = array(
        [
    0] => '2010-01-12 testo',
        [
    1] => '2010-02-15 testo',
        [
    2] => '2008-02-23 testo',
        [
    3] => '2011-05-16 testo'
    );
    //leggi la entry 0, ricavi l'anno e la metti nel nuovo array

    $nuovo_array[$anno_ricavato][] = $array_originale[0]; 
    Ovviamente va creato un ciclo foreach per scorrere tutto l'array.
    Alla fine $nuovo_array conterrà i dati raggruppati come ti serve.

  3. #3
    Utente di HTML.it L'avatar di Scream
    Registrato dal
    Apr 2002
    Messaggi
    228
    Veramente avevo pensato ad un array multidimensionale

    in pratica passare da questo appunto:
    codice:
    array('2010-01-12 testo','2010-02-15 testo','2008-02-23 testo','2011-05-16 testo', ecc.)
    a questo
    codice:
    array(
      "2008"=>array('2008-02-23 testo'),
      "2010"=>array('2010-01-12 testo','2010-02-15 testo'),
      "2011"=>array('2011-05-16 testo'),
      ecc.
    )
    Per l'ordinamento dei valori in base all'anno non ci sarebbe problema, ma come converto un array in un array multidimensionale?

    C'è una funzione apposita o devo usare necessariamente un foreach?

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Quello che ti ho scritto io fa esattamente ciò che hai appena chiesto.

  5. #5
    Utente di HTML.it L'avatar di Scream
    Registrato dal
    Apr 2002
    Messaggi
    228
    Provo subito, grazie. Al limite se ho ancora errori posto il codice che ho scritto

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.