我想学习使用for循环来填充括号,如下所示: - $ max从8开始,最多可以是512.我只知道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 :(得分: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);