2014-09-29 119 views
1

我想知道是否可以在使用PHP的for循环中创建唯一变量。我试着下面的代码,但它不工作:PHP:在For循环中创建唯一变量

$level_count = 6 

for ($i=1; $i<=$level_count; $i++) { 
    $level_ + $i = array(); 
} 

我想与变量$ LEVEL_1,$ LEVEL_2,$ level_3,$ level_4,$ level_5和$ level_6结束了。我将如何实现这一目标?

+7

数组已被发明阻止你做你现在正在做的事情。 – zerkms 2014-09-29 20:13:20

+0

谢谢@zerkms我很新的PHP,所以我不知道这种方法皱起了眉头 – 2014-09-29 20:30:22

回答

1
$level_count = 6 

for ($i=1; $i<=$level_count; $i++) { 
    $l = "level" . $i; 
    $$l = array(); 
} 

但Zerkms是正确的...

$arr = array(array(),array(),array(),array(),array(),array()); 
+0

谢谢@Sebas!正是我需要的! – 2014-09-29 20:29:08

1

奇怪的事情(我不知道你为什么要使用它),但是,只为教育目的...

$level_count = 6; 

for ($i = 1; $i <= $level_count; $i++) { 
    $name = 'level_' . $i; 
    $$name = array(); 
} 
+0

用10秒杀死我:) – Sebas 2014-09-29 20:19:09

+0

@Sebas我花了一些时间试图解释为什么我写这个代码的第一位) )) – Cheery 2014-09-29 20:19:45

2

如果为此使用数组,则更容易。试试这一行:

$level_count = 6; 

$array = array_fill_keys(array_map(function($index) { 
             return 'level_' . $index; 
            }, range(1, $level_count)), array()); 

var_dump($array); 
+0

美丽:) Upvote for sport – Sebas 2014-09-29 21:34:57