genel bakış
PHP'de, $
dinamik bir değişken yapmak için değişkenin önüne fazladan bir şey koyabilirsiniz :
$$variableName = $value;
Ben tavsiye etmem olsa bile, bu davranışı bile zincirleyebilirsiniz:
$$$$$$$$DoNotTryThisAtHomeKids = $value;
Sen ancak koymak zorunda değildir yapabilirsiniz $variableName
arası {}
:
${$variableName} = $value;
{}
Yalnızca değişkeninizin adı kendisi gibi birden çok değerin bir bileşimi olduğunda kullanmak zorunludur:
${$variableNamePart1 . $variableNamePart2} = $value;
Yine de her zaman kullanılması tavsiye edilir {}
, çünkü daha okunabilir.
PHP5 ve PHP7 arasındaki farklar
Her zaman kullanmanın başka bir nedeni {}
, PHP5 ve PHP7'nin dinamik değişkenlerle başa çıkmanın biraz farklı bir yoluna sahip olmasıdır, bu da bazı durumlarda farklı bir sonuçla sonuçlanır.
PHP7'de dinamik değişkenler, özellikler ve yöntemler artık PHP5'teki özel durumların karışımından farklı olarak kesinlikle soldan sağa sırayla değerlendirilecektir. Aşağıdaki örnekler değerlendirme sırasının nasıl değiştiğini göstermektedir.
Dava 1 : $$foo['bar']['baz']
- PHP5 etkileşimi:
${$foo['bar']['baz']}
- PHP7 etkileşimi:
${$foo}['bar']['baz']
Durum 2: $foo->$bar['baz']
- PHP5 etkileşimi:
$foo->{$bar['baz']}
- PHP7 etkileşimi:
$foo->{$bar}['baz']
Durum 3: $foo->$bar['baz']()
- PHP5 etkileşimi:
$foo->{$bar['baz']}()
- PHP7 etkileşimi:
$foo->{$bar}['baz']()
Durum 4: Foo::$bar['baz']()
- PHP5 etkileşimi:
Foo::{$bar['baz']}()
- PHP7 etkileşimi:
Foo::{$bar}['baz']()