2014-09-29 64 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