Visualizzazione risultati 1 fino 14 di 14

Discussione: [PHP] Assegnazione variabili automatica da array

  1. #1
    Guest

    Predefinito [PHP] Assegnazione variabili automatica da array

    Ciao a tutti, come va? Allora sto cercando di fare questa cosa:
    Io ho un array, dove sono contenuti sono i "nomi" delle variabili predefinite ($_SERVER, $_COOKIE, ecc) e sono messi solamente i nomi, in ordine casuale (o ordinario come si vuole) MINUSCOLI (server, cookie, ecc) ora con un foreach io vorrei assegnare $_ alla variabile ($ass) per poi crearne una (estratta da $ass) in pratica il foreach deve fare questo:
    1) Rendere tutto MAIUSCOLO (cookie -> COOKIE)
    2) Creare la variabile $cookie e aggiungere $_ con cookie!
    Questo è il codice:
    Codice PHP:
    <?php

    $cosa
    = array("server","cookie","post","get","request","files","session");

    foreach(
    $cosa as $ass) {
    $assm = strtoupper($ass);
    $ass = "\$_".$assm;
    }

    print_r($cookie);

    ?>
    Spero che lui ve lo faccia capire meglio...ciauu!!
    PS. Sto scrivendo a voi perché mi mostra pagina bianca infatti! =(

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Non ho capito molto bene cosa tu voglia fare, ne' soprattutto perche', ma la sensazione e' che ti servano le variabili variabili

    edit: ma se hai sfortuna, potresti avere a che fare con questo warning:
    Please note that variable variables cannot be used with PHP's Superglobal arrays within functions or class methods. The variable $this is also a special variable that cannot be referenced dynamically.
    Ultima modifica di dreadnaut : 24-07-2009 alle ore 15.32.07

  3. #3
    Guest

    Predefinito

    Niente da fare:
    Codice PHP:
    <?php

    $cosa
    = array("server","cookie","post","get","request","files","session");

    foreach(
    $cosa as $ass) {
    $assm = strtoupper($ass);
    $ass = $_{$assm};
    }

    print_r($cookie);

    ?>
    In pratica io voglio che da un array venga ricreata la variabile $_(SERVER,COOKIE) e venga assegnata senza $_ ma con $!! Ciauu! ^^"

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    boh, chissa cosa hai fatto li sopra, di certo non hai seguito la pagina che ti ho linkato prima

    $_(SERVER,COOKIE)
    Questo non ha senso. O ti spieghi a parole, o ti spieghi con uno schema: quali variabili esistere -dopo- ?

  5. #5
    Guest

    Predefinito

    In pratica voglio evitare di scrivere tutto questo a mano:
    Codice PHP:
    // tutte le variabili con $_
    $cookie = $_COOKIE;
    $server = $_SERVER;
    // ecc... tutte con $_
    Grazie mille!! ciauu!!

  6. #6
    Guest

    Predefinito

    E perchè vorresti duplicare quelle variabili??


    Ciao!

  7. #7
    Guest

    Predefinito

    Perché dopo devo modificare il template della visualizzazione con print_r!! xD

  8. #8
    Guest

    Predefinito

    Citazione Originalmente inviato da sIM Visualizza messaggio
    Perché dopo devo modificare il template della visualizzazione con print_r!! xD

    Hai presente Antonio & Michele nel pezzo che fa "E' oscuro!"...?
    Pongo la domanda in un altro modo: perchè non usi direttamente quelle variabili già esistenti??


    Ciao!

  9. #9
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    c'eri quasi, era scritto nella pagina del php infatti

    Codice PHP:
    $cosa = array('server', 'cookie', 'post', 'get', 'request', 'files', 'session');

    foreach(
    $cosa as $ass) {
    $nome = '_' . strtoupper($ass);
    $
    $ass = $$nome;
    }

    print_r($cookie);
    Il doppio dollaro serve a raggiungere la variabile il cui nome è contenuto nella variabile specificata, quindi se $ass contiene 'cookie', allora $$ass è lo stesso di $cookie, idem per le altre ---il cui nome è '_qualcosa', il trattino va dentro la stringa.
    Ultima modifica di dreadnaut : 24-07-2009 alle ore 16.39.20

  10. #10
    Guest

    Predefinito

    Ma non funziona anche se!! Mi mostra con print_r Array ( )

  11. #11
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Quello è perché ti sei dimenticato di settare cookie, e l'array è giustamente vuoto. Qua funziona perfettamente.

    Per prevenire un altro disperato messaggio "ma non funzionaaaa con $_serveeeer", visto che non hai letto sopra, lo copio qua:
    Please note that variable variables cannot be used with PHP's Superglobal arrays within functions or class methods. The variable $this is also a special variable that cannot be referenced dynamically.

  12. #12
    Guest

    Predefinito

    Si, questo lo so'! Ma con $server non lo dovrebbe fare! Ma invece mostra array ()!!
    Anche perché server si auto-setta indipendentemente da cosa si fa!

  13. #13
    Guest

    Predefinito

    Ma guarda che tutte le variabili che hai in quest'array

    Codice PHP:
    array("server","cookie","post","get","request","files","session");
    Sono tutte super globali.

  14. #14
    Guest

    Predefinito

    Ah ok! ^^ Grazie mille!! Ciauu! ^^"

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •