2010-09-05 16 views

risposta

18
  • $hash('foo') è una funzione variabile.
    $hash può contenere una stringa con il nome della funzione o una funzione anonima.

    $hash = 'md5'; 
    
    // This means echo md5('foo'); 
    // Output: acbd18db4cc2f85cedef654fccc4a4d8 
    echo $hash('foo'); 
    
  • $$foo è una variabile variabile.
    $foo può contenere una stringa con il nome della variabile.

    $foo = 'bar'; 
    $bar = 'baz'; 
    
    // This means echo $bar; 
    // Output: baz 
    echo $$foo; 
    
  • $bar[$foo] è una chiave matrice variabile.
    $foo può contenere qualsiasi cosa che possa essere utilizzata come chiave di array, come un indice numerico o un nome associativo.

    $bar = array('first' => 'A', 'second' => 'B', 'third' => 'C'); 
    $foo = 'first'; 
    
    // This tells PHP to look for the value of key 'first' 
    // Output: A 
    echo $bar[$foo]; 
    

Il manuale PHP ha un articolo su variable variables, e un articolo su anonymous functions (ma non ha mostrato un esempio di cui sopra per il secondo).

+0

wow, ho capito correttamente. Puoi citare questo? – Johnny

+0

I tasti di matrice variabile sono punti fermi. Ho incluso i collegamenti manuali PHP per variabili variabili e funzioni variabili. – BoltClock

+1

Le cose si fanno davvero divertenti se si utilizza la sintassi della variabile estesa. Questo permette cose come '$ {'prefisso_'. $ name} 'o anche cose più divertenti come' $ {$ var = 'var'} '(questo è' 'var''). – NikiC