Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    101

    Accesso ad Object e array

    codice:
    object(stdClass)#2
    (1) 
    { ["item"]=>  array(2) {
    
    
    [0]=>  array(9) { 
    
    	[0]=>  string(1) "1" 
    	[1]=>  string(5) "Nome1" 
    	[2]=>  string(8) "Cognome1" 
    	[3]=>  string(4) "via1" 
    	[4]=>  string(4) "cap1" 
    	[5]=>  string(6) "luogo1" 
    	[6]=>  string(11) "000.000.000" 
    	[7]=>  string(17) "email@numero1.com" 
    	[8]=>  string(2) "Si" 
    
    } 
    
    [1]=>  array(9) {
    
    	[0]=>  string(1) "3" 
    	[1]=>  string(5) "Nome2" 
    	[2]=>  string(8) "Cognome2" 
    	[3]=>  string(4) "via2" 
    	[4]=>  string(4) "cap2" 
    	[5]=>  string(6) "luogo2" 
    	[6]=>  string(11) "000.000.000" 
    	[7]=>  string(17) "email@numero2.com" 
    	[8]=>  string(2) "no" 
    
    } 
    
    
    } 
    }
    non riesco a capire come faccio ad accedere via PHP a questi dati ottenuti facendo var_dump della variabile che ricevo.

    il mio scopo è quello di stampare una lista del tipo:


    codice:
    Nome1, Cognome1     Via1    cap1     luogo1....
    Nome2, Cognome2     Via2    cap2     luogo2...

    o comunque delle righe simili a dipendenza di quanti "item" mi ritornano con la variabile stessa...

    qualcuno sa aiutarmi?, io purtroppo con gli oggetti non ho mai programmato in php e non riesco a trovare esempi che spiegano cosa fare su internet.

    grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    101
    aggiungo, forse è importante, che l'oggetto è in effetti un vector fornito in questo caso da java...

    grazie mille se riuscite a darmi una mano

  3. #3
    echo $oggetto->item[0][1]; // stampa "Nome1"

    etc. etc.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    101
    perfetto...mi mancava la parolina magica "item", la davo per scontata.
    Grazie mille skidx!

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    101
    ora ho solo un problema; in questo caso ho 2 "item" ma sono dinamici, nel caso fossero 3 o 4, come faccio a sapere quanti "item" ci sono? ad esempio mettendoli in un foreach, così da fargli stampare tutti i dati direttamente???

  6. #6
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    Codice PHP:
    foreach($oggetto->item as $rec){
    echo 
    $rec[1]; // stampa i vari nomi
    echo $rec[2]; // stampa i vari cognomi
    echo $rec[3]; // stampa i vari indirizzi

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    101
    è vero funziona, ma per beccare la dimensione esatta dell'oggetto?

    xchè se sono + array mi fa un'array di array mentre che se l'oggetto contiene un item solo mi fa un array normale.

    devo perciò poter ricavare dall'oggetto quanti item ha prima di processarlo e fargli fare l'echo.

    qualche idea su come fare?

  8. #8
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    per questo esiste il manuale:

    http://it2.php.net/manual/it/function.count.php

    nel tuo caso un

    Codice PHP:
    echo count($obj->item); 
    restituirà due (elemento 0 + elemento 1) secondo il tuo oggetto postato prima

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    101
    Il problema è risolto solo partialmente, infatti l'oggetto che ho si comporta in maniera strana:

    codice:
    [item] => Array ( 
    
    [0] => 1 
    [1] => Nome1 
    
    [2] => Array ( 
    	[0] => 2 
    	[1] => Nome2 ) 
    
    [3] => Array ( 
    	[0] => 4 
    	[1] => Nome3 ) 
    
    )
    Per accedere ai vari campi uso effettivmaente

    Codice PHP:
    foreach($oggetto->item as $rec){
    echo 
    $rec[1]; // stampa i vari id
    echo $rec[2]; // stampa i vari nomi

    ma questo non va bene per il primo, che si inserisce non come array di array di stringhe ma semplicemente come array di stringhe.

    Questo mi capita sempre e solo con il primo item, perciò come potrei fare a separare l'accesso ai campi per poter fare l'echo?

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    101
    Nessuno?
    Non so nemmeno se è possibile da fare, xchè ho dati troppo diversi.

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.