Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957

    [PHP5] Variabili per riferimento

    Ciao a tutti,
    su PHP hanno inserito le variabili per riferimento e ho provato quanto segue:
    codice:
    foreach($_REQUEST as $k=>&$v) 
    $v=htmlentities(utf8_decode(trim($v)));
    Come vedete questo codice dovrebbe prendere tutte le variabili $_REQUEST e convertine prima da UTF8 e poi i caratteri dell'HTML.
    La variabile &$v dovrebbe passare per riferimento e quindi modificando $v dentro il ciclo, dovrei cambiare la variabile $_REQUEST.

    Questo su una versione Window: PHP Version 5.2.3 (maggio 07) funziona correttamente,
    invece su una versione linux ubuntu: PHP Version 5.2.1(novembre 07, appena aggiornato) non va...

    Avete idea di quale sia il problema?
    Grazie

  2. #2
    E' deprecato il passaggio per riferimento via chiamata, puoi solo definire il passaggio per riferimento in fase di definizione della funzione.

    In altri termini puoi

    Codice PHP:
    public function foo(&arg) {} 

    foo($var
    non puoi

    Codice PHP:
    public function foo(arg) {}

    foo(&$var

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957
    ma come deprecato?
    L'avevo trovato qui:
    http://it.php.net/manual/it/control-...es.foreach.php (vedi 2a nota)


    Grazie comunque della risposta...

  4. #4
    Originariamente inviato da GoldEmish
    ma come deprecato?
    L'avevo trovato qui:
    http://it.php.net/manual/it/control-...es.foreach.php (vedi 2a nota)


    Grazie comunque della risposta...
    Scusa, errore mio.
    Non avevo inteso il tuo scopo fosse quello di permettere la modifica di una variabile con foreach.

    Non saprei dirti che per caso $_REQUEST ha qualche forma di protezione.
    Personalmente ti sconsiglio alla grande di modificare i dati di una variabile globale diq uel genere.

    Ti conviene copiare (e già che ci sei codificare) direttamnte una copia di quell'array.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957
    Il problema è che ho dovuto fare una modifica all'intero sito, e con quella riga mi risolvo tutti i problemi.
    La cosa è strana perchè sia su versioni vecchie linux, sia quella nuova, non va. Sulle win si...

    Perchè dici che è sconsigliabile non modificare direttamente quell'array? Giusto per capire...

    Grazie mille

  6. #6
    Originariamente inviato da GoldEmish
    Il problema è che ho dovuto fare una modifica all'intero sito, e con quella riga mi risolvo tutti i problemi.
    La cosa è strana perchè sia su versioni vecchie linux, sia quella nuova, non va. Sulle win si...

    Perchè dici che è sconsigliabile non modificare direttamente quell'array? Giusto per capire...

    Grazie mille
    Non conosco i dettagli interni dell'implementazione di PHP, però potrebbe essere che alcune funzioni facciano riferimento ai valori di quell'array e modificandone il comportamento rischi di andare a modificare in cascata il comportamento di alcune funzioni che si basano su alcune assunzioni che verrebbero meno.

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.