// 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();
}
答案 0 :(得分:3)
您的代码几乎是正确的。你只需要在第2行和第5行删除'var'。
// 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();
}
这正常(如您所述)。我测试了它。
更多information on variable variables here。
顺便说一句,我建议不要在PHP中使用eval()。
答案 1 :(得分:2)
你可能不想这样做。想要使用变量变量通常表示无法理解数据结构和/或过度聪明。如果你真的想这样做,你可以说像......
extract(array_fill_keys($letters, array()));
...但如果你没有,那将是最好的。使用嵌套数组可能是一个更好的主意 - 特别是因为您可以说$nested['a'][] = 5
并且PHP会将值附加到数组中,如果没有任何内容则创建一个。或者,你可以说$varname['key'] = 123
,再次,PHP将为你自动创建数组。
答案 2 :(得分:0)
查看eval()函数:Eval