Problema con array multipli

Elranius

Nuovo Utente
17 Apr 2013
11
0
1
Salve a tutti, ho un problema che non riesco a risolvere.
In pratica ho un array

Codice:
var Tabella = new Array(); 
var elenco_nomi = new Array(); 	
  function Stampa(){   
     $.get("result.php",{ utente: "gm"},            
	function(dati) {				
	   for(i=0;i<dati.length; i++){
	     Tabella[i] = new Array(dati[i].a, dati[i].b);
	     for(j=0;j<dati[i].c.length; j++){
                elenco_nomi [j]= new Array(dati[i].c[j].cognome, dati[i].c[j].nome);
	     }
             Tabella[i].push(elenco_nomi);
	   }
	},"json");
  }

il file json che elaboro ha questa struttura:

[{"a":"valoreA1","b":"valoreB1","c":[{"cognome":"Rossi","nome":"Mario"}]},{"a":"valoreA2","b":"valoreB2","c":[{"cognome":"Verdi","nome":"Franco"}]}]


Sviluppato per una migliore lettura diventa:

Codice:
dati[]=[
            {"a":"valoreA1"
              "b":"valoreB1"
              "c": Array[{ "cognome":"Rossi",
                              "nome":"Mario"}]
            },
            { "a":"valoreA2"
               "b":"valoreB2"
               "c":Array[{ "cognome":"Verdi",
                              "nome":"Franco"},
                           { "cognome":"Rosa",
                               "nome":"Bebbe"}]
            }
           ]

La funzione Stampa() sopra descritta a me sembra funzionare correttamente, nel senso che se alla fine di ogni ciclo faccio un allert(Tabella) i dati mi tornano corretti.

Il problema mi si verifica quando vado ad processare l'array Tabella[] come per esempio:
Codice:
 function Control()
   {
	var boxtext1;
	var i=0;		 
	boxtext1='Tabella['+i+'][0]= '+Tabella[i][0]+ '\n' + 
	             'Tabella['+i+'][1]= '+Tabella[i][1]+ '\n' + 
		     'Tabella['+i+'][2]= '+Tabella[i][2]+ '\n' +
		 		
		     '  Tabella['+i+'][2][0]= '+Tabella[i][2][0]+ '\n' + 
		     '  Tabella['+i+'][2][1]= '+Tabella[i][2][1];


	alert(boxtext1);
	i= i+1;
	var boxtext2; 
	boxtext2='Tabella['+i+'][0]= '+Tabella[i][0]+ '\n' + 
		     'Tabella['+i+'][1]= '+Tabella[i][1]+ '\n' + 
		     'Tabella['+i+'][2]= '+Tabella[i][2]+ '\n' +
				
		     '  Tabella['+i+'][2][0]= '+Tabella[i][2][0]+ '\n' +
		     '  Tabella['+i+'][2][1]= '+Tabella[i][2][1];

	alert(boxtext2);	
}

Mi aspetto un output del tipo:

Primo Allert:
Tabella[0][0]= valoreA1
Tabella[0][1]= valoreB1
Tabella[0][2]= Rossi, Mario
Tabella[0][2][0]= Rossi, Mario
Tabella[0][2][1]= undefined

Secondo Allert:
Tabella[1][0]= valoreA2
Tabella[1][1]= valoreB2
Tabella[1][2]= Verdi, Franco, Rosa, Beppe
Tabella[1][2][0]= Verdi, Franco
Tabella[1][2][1]= Rosa, Beppe

Invece il primo Alert esce cosi:

Tabella[0][0]= valoreA1
Tabella[0][1]= valoreB1
Tabella[0][2]= Rossi, Mario
Tabella[0][2][0]= Rossi, Mario
Tabella[0][2][1]= Rosa, Beppe


Perchè mi ritrovo l'elemento inserito in Tabella[1][2] in Tabella[0][2]?

Il mio sospetto è nell'istruzione Tabella.push(elenco_nomi) come se non inserisse i valori dell'Array elenco_nomi, ma un puntatore. E' possibile?
 

helpdesk

Utente Attivo
30 Set 2009
726
0
0
Pesaro
Ciao, il problema sta nella nidificazione del Json.
Io la trovo inutilmente troppo articolata.
Prova a fare semplicemente così:
PHP:
[
   {
      "Nome"          : "Mario",
      "Cognome"     : "Rossi"
   },
   {
      "Nome"            : "Franco",
      "Cognome"       : "Verdi"
   }

]

Per quanto concerne il parsing dei dati con Ajax fai semplicemente:

PHP:
 $(document).ready(
   function(){
      $.getJSON(
         './json.php',
         function(data){
            // cicla l'array
            for(i=0; i<data.length; i++){
              var  dati  ="";
                dati +=  data[i].nome; // accedi al valore Nome
                dati +=  data[i].cognome; // accedi al valore Cognome
               }
           }
        );
     }
  );

Ho inserito la funzione all’interno del metodo ready() di jQuery, il quale si occupa di eseguiro il suo contenuto solamente dopo che il DOM è stato caricato completamente.
Se ti serve puoi fare anche il push dei dati in una variabile chiamata Tabella.
 
Discussioni simili
Autore Titolo Forum Risposte Data
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
F [PHP] Problema con array multidimensionale PHP 4
alessandra86 [PHP] Popolamento database con form ricorsivi - problema array (foreach ) PHP 5
R [PHP] Problema stampa array bidimensionali con formula $html.=<<<myHtml... PHP 2
S problema con gli array in javascript Javascript 12
C Problema con creazione array PHP 7
V Problema con array PHP 8
neo996sps PHP/MySQL - Problema con generazione array PHP 14
L problema array con le sessioni PHP 1
F Problema formattazione data e creazione array con nuove date Javascript 2
F problema Json con Array jQuery 1
S Problema con inserire la select in un array PHP 2
S Problema con 2 funzioni:array,select dinamica Javascript 21
P Problema con array e foreach PHP 15
L Problema con un array e il $$ PHP 2
F Problema urgente con checkbox, array e explode PHP 10
S Problema con fwrite e array PHP 3
F Problema con array multidimensionali Flash 0
N Problema con array multidimensionali PHP 0
minatore problema con gli array PHP 5
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
N Problema con position absolute e overflow HTML e CSS 4
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
K [PHP] Problema con variabili concatenate. PHP 1
O problema con query PHP 4
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
R problema con else PHP 0
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6

Discussioni simili