我需要结合一些元素。
我有什么:
Array
(
[0] => Array
(
[0] => n
[1] => q
)
[1] => Array
(
[0] => d
[1] => g
)
)
我需要什么:
n d
n g
q d
q g
我如何存档?
如您所见,有两组。但这将是动态的它可以是我想要的多个组,以及我想要的组中的多个元素。
例如:
Array
(
[0] => Array
(
[0] => n
[1] => q
[2] => x
[3] => b
)
[1] => Array
(
[0] => d
[1] => g
[2] => q
[3] => w
)
[2] => Array
(
[0] => x
[1] => y
[2] => a
[3] => c
)
)
只是一个例子,因为有很多:
n d x
n g y
n q a
n w c
n d y
n g a
n q c
n w x
n d a
n g c
n q x
n w y
n d c
n g x
n q y
n w a
n g x
n q y
n w a
n d c
n g y
n q a
n w c
n d x
n g a
n q c
n w x
n d y
n g c
n q x
n w y
n d a
Now we have to start with q to replace n, an so on.
我希望有人可以帮助我。
谢谢!
答案 0 :(得分:2)
签出以下代码。它为您提供了所需的所有排列。
<?php
//$arr = array(
// array('a', 'b', 'c', 'd'),
// array('e', 'f', 'g', 'h'),
// array('p', 'q', 'r', 's')
//);
$arr = array(
array('n', 'q'),
array('d', 'g')
);
$permutations = $arr[0];
for ($i = 1; $i < count($arr); $i++)
{
$inner_temp = array();
for ($k = 0; $k < count($permutations); $k++)
{
for ($j = 0; $j < count($arr[$i]); $j++)
array_push($inner_temp, $permutations[$k] . $arr[$i][$j]);
}
$permutations = $inner_temp;
}
echo "<pre>";
print_r($permutations);
?>