Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [PHP] array multidimensionali

    Ciao a tutti, vorrei usare gli array multidimensionali ma non mi è molto chiaro il loro funzionamento.

    Codice PHP:
    $prova["1"]["1"]["auto","sportello"];
    $prova["1"]["2"]["ruota","volante"];
    $prova["2"]["1"]["casa","porta"];
    $prova["2"]["2"]["finestra","balcone"]; 
    Praticamente mi servirebbe di creare un array diviso in categorie, dove il primo campo è la categoria, il secondo è la riga e il terzo riporta i valori.

    Ma non so come crearlo.

    PS i numeri sono stringhe non indici.

    Mi potreste aiutare? Ciao e grazie.
    Se la felicità è dietro l'angolo allora la mia vita è un cerchio. (Mario Muraro)

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    127
    Ciao,
    gli array multidimensionali funzionano più o meno come la battaglia navale o le tabelline.

    Sostanzialmente tu hai un primo array
    $pippo[0]="anna"
    $pippo[1]="elisa"
    $pippo[2] ecc..

    che al suo interno contiene un'altro arrey:

    $pippo[0]["anna"][0] = "1"
    $pippo[0]["anna"][1] = "2"
    $pippo[0]["anna"][2] = "3" ecc..

    $pippo[0]["elisa"][0] = "a"
    $pippo[0]["elisa"][1] = "b"
    $pippo[0]["elisa"][2] = "c" ecc..

    Per quello che serve a te dovresti fare nel seguente modo:
    $prova["1"]["1"]=array("auto","sportello");
    $prova["1"]["2"]=array("ruota","volante"); ecc..

    In questo modo facendo $prova["1"]["1"][0] avrai auto
    $prova["1"]["1"][1] avrai sportello
    ecc..

    Per navigare in questi array devi tenere conto di fare un foreach per ogni arrey padre ($prova["1"],$prova["1"]["1"]=2 foreach)

    Spero di essere stata abbastanza chiara.

    Ciao
    Anna

  3. #3

    Per quello che serve a te dovresti fare nel seguente modo:
    $prova["1"]["1"]=array("auto","sportello");
    $prova["1"]["2"]=array("ruota","volante");ecc..

    In questo modo facendo $prova["1"]["1"][0] avrai auto
    $prova["1"]["1"][1] avrai sportello
    ecc..

    Per navigare in questi array devi tenere conto di fare un foreach per ogni arrey padre ($prova["1"],$prova["1"]["1"]=2 foreach)

    Spero di essere stata abbastanza chiara.

    Ciao
    Anna [/supersaibal]
    Grazie per l'aiuto, qualche dubbio l'ho tolto.

    io ho fatto così

    Codice PHP:
    $prova["1"]["1"]=array("auto","sportello");
    $prova["1"]["2"]=array("ruota","volante");

    foreach(
    $prova as $v1)
    {
     echo 
    $v1;
     foreach(
    $v1 as $v2)
     {
      echo 
    $v2;
      foreach(
    $v2 as $v3)
      {
       echo 
    $v3;
      }
     }

    con questo codice mi stampa:

    Array Array auto sportello Array Array ruota volante

    E' come se non vedesse i valori dentro i primi 2 array, mentre a me serve il loro valore.

    Forse li ho riempiti in modo errato?

    Ciao e grazie per l'aiuto.
    Se la felicità è dietro l'angolo allora la mia vita è un cerchio. (Mario Muraro)

  4. #4

    molto utile

    usa print_r($array); per capire esattamente come è fatto

  5. #5
    Se la felicità è dietro l'angolo allora la mia vita è un cerchio. (Mario Muraro)

  6. #6

    Re: molto utile

    Originariamente inviato da Eyescream
    usa print_r($array); per capire esattamente come è fatto
    Ho provato a seguire il tuo consiglio, ma vede solo i valori nell'ultimo array.
    Se la felicità è dietro l'angolo allora la mia vita è un cerchio. (Mario Muraro)

  7. #7
    gli indici che specifichi per un array devono essere interi, numeri insomma ciao[0] ciao[1] e non stringhe come le hai passate te ciao["0"] <= è sbagliato!
    visit the BEST italian fotolog http://www.ghiacciato.it/fotolog

    "Solo due cose sono infinite, l'universo e la stupidità dell'essere umano.. ma sulla prima ho ancora delle riserve.." A.Einstein

  8. #8
    Originariamente inviato da ghiacciato
    gli indici che specifichi per un array devono essere interi, numeri insomma ciao[0] ciao[1] e non stringhe come le hai passate te ciao["0"] <= è sbagliato!
    $prova["1"]["1"]=array("auto","sportello");
    $prova["1"]["2"]=array("ruota","volante");

    i primi due valori non sono indici, $prova["1"]["1"], ma stringhe,
    io devo popolare gli array con questi valori, ma non so come fare.

    $prova = array("1")array("1")array("auto","sportello");

    ma in questo modo non funziona.

    ciao e grazie.
    Se la felicità è dietro l'angolo allora la mia vita è un cerchio. (Mario Muraro)

  9. #9
    Se la felicità è dietro l'angolo allora la mia vita è un cerchio. (Mario Muraro)

  10. #10
    Se la felicità è dietro l'angolo allora la mia vita è un cerchio. (Mario Muraro)

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.