• User

    Problema array bidimensionale

    Il problema è questo,ho un'archio di messaggi
    Questo archivio è divisio per anno e mese relativo all'anno.

    Io avevo pensato a questa solizione:
    $archivio[$anno] = "ciclio che memorizza il numero dell'anno"
    $archivio[$anno][$mese] = "ciclo che memorizza il numero del mese relativo all'anno"

    L'errore me lo da nella stampa dell'array
    foreach ($archivio[$anno] as $key){
    foreach ($key[$mese] as $value){
    print ("$value\n");
    }
    }

    L'errore è questo:
    Warning: Invalid argument supplied for foreach() in ...

    Cosa sbaglio?


  • User

    quello che ottieni dal foreach ($key) non è un array
    direttamente dal manuale:

    /* esempio 4 foreach: array multidimensionali */
    $a = array();
    $a[0][0] = "a";
    $a[0][1] = "b";
    $a[1][0] = "y";
    $a[1][1] = "z";

    foreach ($a as $v1) {
    foreach ($v1 as $v2) {
    echo "$v2\n";
    }
    }


  • User

    Si,avevo visto questa cosa nel manuale...ma non mi funziona

    Ho scritto questo:
    foreach ($archivio as $key){
    foreach ($key as $value){
    print ("$value\n");
    }
    }

    l'errore è:
    Warning: Invalid argument supplied for foreach() in...

    la linea a cui si riferisce l'errore è il secondo foreach


  • User

    a me così funziona correttamente:

    [php]
    $a = array();
    $a[2007][1] = "Messaggio di gennaio 2007";
    $a[2007][2] = "Messaggio di febbraio 2007";
    $a[2008][11] = "Messaggio di novembre 2008";
    $a[2008][12] = "Messaggio di dicembre 2008";

    foreach ($a as $v1) {
    foreach ($v1 as $v2) {
    echo "$v2<br />";
    }
    }
    [/php]