Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di AtoXx
    Registrato dal
    Nov 2007
    Messaggi
    119

    generalizzare accesso ad array

    Salve a tutti, vi pongo una domanda:
    ho un array che può avere 1 2 o 3 dimensioni in base a certe circostanze e vorrei generalizzare l'accesso.
    E' possibile farlo?
    Mi spiego meglio con un esempio:
    all'interno di
    codice:
    $var="[2][1][3]"
    il mio array è $arr e vorrei utilizzare $var per aggiungerlo ad $arr ed effetturare l'accesso.

    Ho provato così
    codice:
     $elemento = $arr.$var;
    ma ovviamente non funziona, come si potrebbe fare sempre se è possibile?

  2. #2
    Utente di HTML.it L'avatar di AtoXx
    Registrato dal
    Nov 2007
    Messaggi
    119
    Ho risolto ricordandomi che anche in php esiste la funzione eval!
    Sse può aiutare qualcuno ecco il codice

    Codice PHP:
    $array = array();
        
    $array[1][1][1] = "ciao";
        
    $stringa '$array[1][1][1]';


        echo eval(
    "return $stringa;"); 

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,360
    Non capisco la differenza del tuo codice con quello sotto.

    Codice PHP:
       $array = array();
        
    $array[1][1][1] = "ciao";
        
    $stringa $array[1][1][1];

        echo 
    $stringa
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #4
    Utente di HTML.it L'avatar di AtoXx
    Registrato dal
    Nov 2007
    Messaggi
    119
    avrei dovuto scrivere così


    Codice PHP:
    $array = array();
        
    $array[1][1][1] = "ciao";//questo è un esempio di contenuto dell'array
        
        
    $stringaPerAccesso funzione($array,$parametro);//questa funzione ritorna una stringa [1][1][1] o [1][3] o quello che è in base al parametro.

        
    $stringa '$array.'.$stringaPerAccesso;


        echo eval(
    "return $stringa;"); 

  5. #5
    Ma scusa, se la funzione riceve l'array come argomento e sa quali indici utilizzare, non e' meglio se ritorna direttamente il valore corretto dall'array?

    Eval e' la soluzione corretta in rarissimi casi.

  6. #6
    Utente di HTML.it L'avatar di AtoXx
    Registrato dal
    Nov 2007
    Messaggi
    119
    il discorso è un pò più complicato, praticamente il risultato degli indici proviene da una lettura su db. E' tutto un discorso strano :S

  7. #7
    In effetti non riesco a immaginarmi uno scenario in cui una cosa del genere abbia senso

  8. #8
    Utente di HTML.it L'avatar di AtoXx
    Registrato dal
    Nov 2007
    Messaggi
    119
    Neanche ci avrei mai pensato

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,360
    Quote Originariamente inviata da AtoXx Visualizza il messaggio
    avrei dovuto scrivere così


    Codice PHP:
    $array = array();
        
    $array[1][1][1] = "ciao";//questo è un esempio di contenuto dell'array
        
        
    $stringaPerAccesso funzione($array,$parametro);//questa funzione ritorna una stringa [1][1][1] o [1][3] o quello che è in base al parametro.

        
    $stringa '$array.'.$stringaPerAccesso;


        echo eval(
    "return $stringa;"); 
    ok. Adesso ho capito quello che volevi fare.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  10. #10
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,360
    Quote Originariamente inviata da k.b Visualizza il messaggio
    Eval e' la soluzione corretta in rarissimi casi.
    Ho provato con le variabili dinamiche. Non funzionano con gli array. Quindi quello che fa AtoXx mi pare corretto.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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 © 2024 vBulletin Solutions, Inc. All rights reserved.