2013-08-26 5 views
0

Я хочу научиться использовать для цикла, чтобы заполнить скобки, такие как: $ max начинается с 8 и может быть максимум 512. Я знаю только самые основы forloop, не слишком хорошо, чтобы сформируйте нижние скобки. Может ли кто-нибудь помочь мне в этом и объяснить, как они это сделали. Каждый идет в простой шаблон/последовательность.Использование forloop для заполнения скобок

Я очень ценю это.

$max = 8; 

if($max == 8) 

[[0, 0], [0, 0]], 
[[0, 0], [0, 0]], 
[[0, 0]], 
[[0, 0]] 

if($max == 16) 

[[0,0], [0,0], [0,0], [0,0]], 
[[0,0], [0,0], [0,0], [0,0]], 
[[0,0], [0,0]], 
[[0,0], [0,0]], 
[[0,0]], 
[[0,0]] 

if($max == 32) 

[[0,0], [0,0], [0,0], [0,0], [0,0], [0,0], [0,0], [0,0]], 
[[0,0], [0,0], [0,0], [0,0], [0,0], [0,0], [0,0], [0,0]], 
[[0,0], [0,0], [0,0], [0,0]], 
[[0,0], [0,0], [0,0], [0,0]], 
[[0,0], [0,0]], 
[[0,0], [0,0]], 
[[0,0]], 
[[0,0]] 

и т.д. до 512. Благодаря

+0

У вас есть два '$ макс = = 32's there .. – face

+0

«$ max» всегда кратно 4? Кроме того, вы можете получить хорошее чтение о php для циклов здесь - http://php.net/manual/en/control-structures.for.php. Здесь вам понадобится «вложенный цикл». – face

+0

ops sorry $ max всегда удваивается .. 8, 16, 32, 64, 128, 256, 512. –

ответ

0

Так в основном это будет делать:

$max = 8; 
$arrays = array(); 
for($i = $max/4; $i >= 1; $i/=2) { 
    $array = array_fill(0, $i, array(0,0)); 
    $arrays[] = $array; 
    $arrays[] = $array; 
} 

И как строка:

$max = 8; 
$arrays = array(); 
for($i = $max/4; $i >= 1; $i/=2) { 
    $array = array_fill(0, $i, '[0,0]'); 
    $array = '['.implode(', ', $array).']'; 
    $arrays[] = $array; 
    $arrays[] = $array; 
} 
$arrays = implode(",\n", $arrays); 
+0

Спасибо, но вы могли бы показать, как использовать $ array [] для заполнения строки, содержащей скобки, которые я упомянул , если это имеет смысл? –

+0

Вы хотите, чтобы '[[0, 0], [0, 0]], [[0, 0], [0, 0]], [[0, 0]], [[0, 0] ] 'как буквальная строка? Или я неправильно читаю вас здесь? – vollie

+0

Да, как буквальная строка. –

Смежные вопросы