我正在考虑用PHP制作一些能够显示所有车牌组合的东西。 例如:
您有3个盒子可以填写最多2个值
喜欢
BOX1 BOX2 BOX3
75 PM M5
7S PH MS
Z5 PN H5
ZS RM HS
25 RH N5
2S RN NS
NOT BOX1+BOX1+BOX1
It needs to show me
ex. 75-PM-M5
ex. 75-PH-MS
ex. 75-PN-MS
ex. 75-PM-H5
ex. 75-PH-H5
ex. 75-PN-H5
So, BOX1+BOX2+BOX3
The PHP script needs to calculate all the combinations for BOX1+BOX2+BOX3
So BOX1 value1 and value2 are ONE value not two separate values.
In BOX2 value1 and value2 are also ONE value not two separate values and so on.
If I want all combinations of
BOX1'91' + BOX2'HF' + BOX3'PF'
BOX1'74' + BOX2'RT' + BOX3'YT'
It will calculate an amount of 2x2x2=8 combinations
ex. 91-HF-PF
ex. 91-HF-YT
ex. 91-RT-PF
ex. 91-RT-YT
ex. 74-HF-PF
ex. 74-HF-YT
ex. 74-RT-PF
ex. 74-RT-YT
示例pincode
您需要输入4个密码来使用您的apm卡
PIN1+PIN2+PIN3+PIN4
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4
5 5 5 5
6 6 6 6
7 7 7 7
8 8 8 8
9 9 9 9
0 0 0 0
所以你总共有10x10x10x10 = 10.000组合,它必须显示所有组合
如果有人能帮助我,我会感激不尽
答案 0 :(得分:4)
代码:
<?php
function combinations($arr, $n)
{
$res = array();
foreach ($arr[$n] as $item)
{
if ($n==count($arr)-1)
$res[]=$item;
else
{
$combs = combinations($arr,$n+1);
foreach ($combs as $comb)
{
$res[] = "$item $comb";
}
}
}
return $res;
}
// Your ARRAY (first array is like 'BOX1', etc - )
// you can put as many items in each 'BOX' as you like...
// and as many 'boxes' as you like
$words = array(array('A','B'),array('C','D'), array('E','F'));
$combos = combinations($words,0); // ALWAYS, call it with 0 as the last parameter
print_r($combos);
?>
输出
Array
(
[0] => A C E
[1] => A C F
[2] => A D E
[3] => A D F
[4] => B C E
[5] => B C F
[6] => B D E
[7] => B D F
)
我认为这完全是你需要的......: - )