2010-09-05 33 views

Respuesta

18
  • $hash('foo') es una función variable.
    $hash puede contener una cadena con el nombre de la función o una función anónima.

    $hash = 'md5'; 
    
    // This means echo md5('foo'); 
    // Output: acbd18db4cc2f85cedef654fccc4a4d8 
    echo $hash('foo'); 
    
  • $$foo es una variable variable.
    $foo puede contener una cadena con el nombre de la variable.

    $foo = 'bar'; 
    $bar = 'baz'; 
    
    // This means echo $bar; 
    // Output: baz 
    echo $$foo; 
    
  • $bar[$foo] es una clave de la matriz variable.
    $foo puede contener cualquier cosa que se pueda utilizar como una clave de matriz, como un índice numérico o un nombre asociativo.

    $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]; 
    

El manual de PHP tiene un artículo sobre variable variables, y un artículo sobre anonymous functions (pero que no muestran un ejemplo anteriormente para el último).

+0

wow, lo entendí correctamente adivinando. ¿Puedes citar esto sin embargo? – Johnny

+0

Las teclas de matriz variable son bastante básicas. He incluido los enlaces manuales de PHP para variables variables y funciones de variables. – BoltClock

+1

Las cosas se ponen realmente divertidas si usa la sintaxis de variable extendida. Esto permite cosas como '$ {'prefix_'. $ name} 'o cosas más divertidas como' $ {$ var = 'var'} '(esto es' 'var''). – NikiC