使用forloop填充括号 [英] Using forloop to populate brackets

查看:121
本文介绍了使用forloop填充括号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想学习使用for循环来填充如下所示的括号: -
$ max从8开始,最大可以为512.我只知道forloop的基本知识,不太好构成下方括号..有人可以帮助我,并解释他们是如何做到的。
每个都进入简单的模式/序列。

I want to learn to use for loop to populate brackets such as the following:- $max starts at 8 and can be maximum of 512. I only know very basics of forloop, not too well to form the below brackets.. can someone help me on this and explain how they done it. Each goes into simple pattern/sequence.

我非常感谢。

I appreciate it very much.

$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.
谢谢

etc until 512. Thanks

推荐答案

所以基本上这样做:

So basically this would do:

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

和字符串一样:

And as a string:

$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);

这篇关于使用forloop填充括号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆