Ben bir PHP5 kitap okuma oldum ve yazar sık bu sözdizimi kullanılan
${"{$something}_somethingelse"};
Bunun ne demek hiçbir fikrim yok. Dinamik bir değişken adı oluşturur mu?
Biri bana yardım?
Bu Variable variables a> adı verilen bir dil özelliğidir.
Aşağıdaki kod parçasını düşünün:
$a = 'hello';
Bu oldukça yalındır. Bu değişken oluşturur $a
ve 'hello'
değerine ayarlar.
Kullanıcının ile hareket edelim:
$$a = 'world';
${$a} = 'world';
Temel olarak, $a = 'hello'
, bu iki deyim yapmanın eşdeğerdir beri:
$hello = 'world';
Bu nedenle aşağıdaki gibidir:
echo "$a ${$a}";
Yapmanın eşdeğerdir:
echo "$a $hello";
{ }
Parantez meydana gelen belirsizlik sorunları önlemek için kullanılır. Aşağıdaki düşünün:
$$a[1] = 'hello world';
Eğer $a[1]
değerine adını bir değişken atamak istiyor musunuz yoksa adını değişkenin endeksi 1
atamak istiyorsun $a
?
İlk seçenek için, gibi yazarsınız:
${$a[1]} = 'hello world';
Ikinci seçenek için:
${$a}[1] = 'hello world';
Şimdi, örneğin.
Kullanıcının düşünün bakalım:
$something = 'hello';
Gibi sizi örnek kullanma:
${"{$something}_somethingelse"} = 'php rocks';
Aslında yapmanın eşdeğer olurdu:
$hello_somethingelse = 'php rocks';
Onlar 'değişken değişkenler' vardır. Bkz this.
Parantez Daha gelişmiş değişken adlarını yapmak için izin verir. Bu Case $ şey sınamak eşit olsaydı olurdu:
${"test_somethingelse"};
Hangi sadece gelişmiş bir değişken adıdır.
İşte bir örnek.
$test = "test"; ${"test_test"} = "test2"; echo $test; // prints test echo ${"test_test"}; // prints test2
Herkes söz olarak Değişken Varaibles kullanarak, diğer değişkenlere dayalı değişkenler oluşturabilirsiniz. Yani senin durumunda, o $ şeyin değeri dayalı bir değişken yapıyordu
$something = "test"; ${"{$something}_somethingelse"}; turns into ${"test_somethingelse"};