PHP数组:填充一系列重复
大图:我需要处理数据,以找出哪些数据组合(包括最多4次重复)最符合标准 从一个基本数组(1,2,3)和一个$repeat_max=4变量,我想通过编程方式创建一个类似这样的数组,因为数组值是动态的。请原谅任何小的语法错误,这只是一个一般的概念。请告诉我这是不是有史以来最糟糕的主意。如何循环使用$data并创建$indivPHP数组:填充一系列重复,php,arrays,Php,Arrays,大图:我需要处理数据,以找出哪些数据组合(包括最多4次重复)最符合标准 从一个基本数组(1,2,3)和一个$repeat_max=4变量,我想通过编程方式创建一个类似这样的数组,因为数组值是动态的。请原谅任何小的语法错误,这只是一个一般的概念。请告诉我这是不是有史以来最糟糕的主意。如何循环使用$data并创建$indiv $data = array(1,2,3); $indiv[0] => array ([0] => array([0] = 1),
$data = array(1,2,3);
$indiv[0] => array ([0] => array([0] = 1),
[1] => array([0] = 1, [1] = 1),
[2] => array([0] = 1, [1] = 1, [2] = 1),
[3] => array([0] = 1, [1] = 1, [2] = 1, [3] = 1)),
$indiv[1] => array ([0] => array([0] = 2),
[1] => array([0] = 2, [1] = 2),
[2] => array([0] = 2, [1] = 2, [2] = 2),
[3] => array([0] = 2, [1] = 2, [2] = 2, [3] = 2)),
$indiv[2] => array ([0] => array([0] = 3),
[1] => array([0] = 3, [1] = 3),
[2] => array([0] = 3, [1] = 3, [2] = 3),
[3] => array([0] = 3, [1] = 3, [2] = 3, [3] = 3))
我们应该这样做:
$indiv = array();
foreach ($data as $val) {
$tmp = array();
for ($i = 0; $i < $repeat_max; $i++) $tmp[$i] = array_fill(0, $i + 1, $val);
$indiv[] = $tmp;
}
Array
(
[0] => Array
(
[0] => Array
(
[0] => 1
)
[1] => Array
(
[0] => 1
[1] => 1
)
[2] => Array
(
[0] => 1
[1] => 1
[2] => 1
)
)
[1] => Array
(
[0] => Array
(
[0] => 2
)
[1] => Array
(
[0] => 2
[1] => 2
)
[2] => Array
(
[0] => 2
[1] => 2
[2] => 2
)
)
)