nasıl ben başka bir değişken adına bir değişken oluşturabilirim?

3 Cevap php

ok ... php ben bunu nasıl yapabilirim? Aşağıdaki senaryoyu Verilen:

// array of letters
var $letters = array('a', 'b', 'c');
// loop through array and create empty arrays with names like $a, $b, $c
foreach($letters as $letter) {
    var $$letter = array();
}

3 Cevap

Sizin kod neredeyse doğru idi. Sadece 2 ve beşinci satırlar 'var' kaldırmak gerekir.

// array of letters
$letters = array('a', 'b', 'c');
// loop through array and create empty arrays with names like $a, $b, $c
foreach($letters as $letter) {
    $$letter = array();
}

(Size anlatıldığı gibi) bu düzgün çalışır. Bunu test.

Daha information on variable variables here.

As an aside, I would recommend against using eval() in your PHP.

Muhtemelen bunu yapmak istemiyorum. Değişken değişkenleri kullanmak isteyen genellikle veri yapılarını ve / veya aşırı akıllılık anlamak için bir başarısızlık göstergesidir. Eğer gerçekten bunu istiyorsanız, gibi bir şey diyebiliriz ...

extract(array_fill_keys($letters, array()));

Eğer olmasaydı ... ama en iyisi olacaktır. Iç içe diziler kullanarak muhtemelen daha iyi bir fikir olduğunu - sadece $nested['a'][] = 5 ve PHP şey varsa biri oluşturarak, diziye değer eklemek söyleyebiliriz özellikle. Alternatif olarak, sadece tekrar, PHP sizin için dizi otomatik yaratacak söylemek $varname['key'] = 123 ve olabilir.

Eval Çıkış () fonksiyonu: Eval