Değişken değişkenler
   
    Bazen değişken değişken isimlerine sahip olabilmek kullanışlı olur.
    Bu, dinamik olarak belirtilebilen ve kullanılabilen bir değişken
    ismidir. Normal bir değişken şöyle bir deyimle atanır:
   
   
   
    Bir değişken değişken bir değişkenin değerini alır ve bir değişkenin
    ismi gibi davranır.  Yukarıdaki örnekteki, merhaba,
    iki tane dolar imi ile bir değişken ismi olarak kullanlabilir
   
   
   
    Bu noktada PHP sembol ağacında iki değişken tanımlanmış ve saklanmış
    olur: $a "merhaba" içerirken
    $merhaba ise "dünya" içerir. Bu nedenle, aşağıdaki
    iki örnek aynı sonucu üretir:
   
   
   
   
    Her ikisi de 'merhaba dünya' üretir.
   
   
    Değişken değişkenleri dizilerle kullanmak için, bir anlam karmaşası
    sorununu çözümlemeniz gerekir. $$a[1] yazdığınızda
    değişken olarak $a[1]'i mi kastettiğiniz, yoksa
    $$a'nın değişken olmasını isteyip [1] ile o
    değişkenin indisini mi kastettiğinizi çözümleyicinin bilmesi gerekir. Bu
    anlam karmaşasını çözümleyen söz dizimi, birinci durum için
    ${$a[1]} ve ikinci için
    ${$a}[1]'dir.
   
   
    Sınıf özelliklerine değişken  özellik isimlerinden de erişilebilir.
    Değişken özellik ismi çağrının yapıldığı etki alanı içinde çözümlenir.
    Örneğin, $foo->$zam gibi bir değişkeniniz olsun; burada
    $zam'ın etki alanı incelenir ve $foo
    özelliğinin ismi olarak kullanılır. $zam, bir diziye
    erişim için kullanılıyorsa yine aynı durum geçerlidir.
   
   
    Kaşlı ayraçlar, özellik ismini açıkça sınırlamak için de kullanılabilir.
    Bir dizi içinde bulunan bir özelliğin değerlerine erişmek için ya da
    özellik ismi başka türlü geçerli olmayan karakterler (örn,
    json_decode() veya SimpleXML ile üretilmiş) içeriyorsa çok
    kullanışlıdır.
   
   
    
     Örnek 1 - Değişken özellik örneği
      
<?php
class foo {
    var $bar = 'I am bar.';
    var $arr = array('I am A.', 'I am B.', 'I am C.');
    var $r   = 'I am r.';
}
$foo = new foo();
$bar = 'bar';
$baz = array('foo', 'bar', 'baz', 'quux');
echo $foo->$bar . "\n";
echo $foo->{$baz[1]} . "\n";
$start = 'b';
$end   = 'ar';
echo $foo->{$start . $end} . "\n";
$arr = 'arr';
echo $foo->{$arr[1]} . "\n";
?>
      
     
Yukarıdaki örneğin çıktısı:
I am bar.
I am bar.
I am bar.
I am r.
     
     
   
   Uyarı
    
      Değişken değişkenlerin işlev ve sınıf yöntemleri içinde PHP'nin
      Süper küresel
      dizileri ile kullanılamayacağını unutmayınız.
      $this değişkeni de dinamik olarak gönderimli
      olamayan özel bir değişkendir.