Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    ricavare nome variabile passata ad una function

    volevo sapere se è possibile ricavare il nome dell'array passato alla funzione

    ho provato così
    Codice PHP:
    function confronto_array_cartelle($array1$array2){
    echo $
    $array1;
    }

    confronto_array_cartelle($array_cartelle_1$array_cartelle_2); 

    confronto_array_cartelle($array_cartelle_2$array_cartelle_1); 
    ma l'echo non mi restituisce il nome dell'array (nel primo richiamo dovrebbe restituirmi $array_cartelle_1 e nel secondo $array_cartelle_2)

    grazie anticipatamente per le eventuali risposte e buona giornata a tutti

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    ciao, prova con un print_r()

  3. #3
    Originariamente inviato da jcsnake
    ciao, prova con un print_r()
    ho provato così
    Codice PHP:
    echo print_r($$array1); 
    ma nulla da fare....

  4. #4
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Scusa per l'errato consiglio, non avevo letto bene il tuo obiettivo. Praticamente è impossibile, non puoi conoscere il nome logico di una variabile passata all'interno di una funzione, l'unico modo di capirne la differenza è distinguere il contenuto

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Non dovrebbe essere necessario ed è macchinoso (se spieghi perchè ti serve, secondo me ci sono altre soluzioni), cmq puoi provare con:

    Codice PHP:
    function var_name_ser(&$var, &$varlist) {
        
    $vardump = array();
        foreach (
    $varlist as $k=>$v$vardump[$k] = $v;
        
    $dump $var$var = !$var;
        
    $diff array_keys (array_diff_assoc($vardump$varlist));
        
    $var $dump;
        return 
    $diff[0];
    };
    // Per recuperare il nome di una variabile:
    $prova '7';
    print 
    var_name_ser($provaget_defined_vars());
    ?> 
    ...è una cosa molto pesante e macchinosa: si fa una scansione delle variabile definite e si crea una copia, quindi si modifica solo la variabile "in gioco" e si controlla quale è cambiata

  6. #6
    Originariamente inviato da eiyen
    Non dovrebbe essere necessario ed è macchinoso (se spieghi perchè ti serve, secondo me ci sono altre soluzioni), cmq puoi provare con:

    Codice PHP:
    function var_name_ser(&$var, &$varlist) {
        
    $vardump = array();
        foreach (
    $varlist as $k=>$v$vardump[$k] = $v;
        
    $dump $var$var = !$var;
        
    $diff array_keys (array_diff_assoc($vardump$varlist));
        
    $var $dump;
        return 
    $diff[0];
    };
    // Per recuperare il nome di una variabile:
    $prova '7';
    print 
    var_name_ser($provaget_defined_vars());
    ?> 
    ...è una cosa molto pesante e macchinosa: si fa una scansione delle variabile definite e si crea una copia, quindi si modifica solo la variabile "in gioco" e si controlla quale è cambiata
    ho risolto così:
    Codice PHP:
    function confronto_array_cartelle($array1$array2$flag_array=""){....} 
    aggiungendo un flag

    grazie comunque a tutti

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.