在工作了将近一整天之后,我的大脑陷入了如何解决这个问题的想法中。一个例子。
- 1、
- X,
- 2、
- 1x,
- 1、
- 2、
- X,
- 1、
- 2、
- 1、
- X,
- X,
- 1..
那是一张优惠券,我希望在组合的可能性之后对其进行排序假设这张优惠券有两种可能性:1x2112x121xx1, 1x2x12x121xx1..第四场比赛是不同的比赛..
所以......我的问题是应该如何以编程方式完成。
我从数据库中获取数据,它看起来像这样。
array(
"gameNumber" => "1",
"bets" => array(
[0] => "1"
),
"gameNumber" => "2",
"bets" => array(
[0] = "x"
),
"gameNumber" => "3",
"bets" => array(
[0] = "2"
),
"gameNumber" => "4",
"bets" => array(
[0] = "1",
[1] = "x"
)
);
我不确定这会对您有所帮助,但这就是它的外观。
在最后一个答案的帮助下,我已经将它全部放入一个递归数组中: 如何构建递归函数来列出多级数组的所有组合?.
所以我的新递归函数如下所示:
public function _combine_bets($array)
{
$cur = array_shift($array);
$result = array();
if(!count($array)) {
foreach($cur['bets'] as $option) {
$result[] = $cur['matchNumber']."-".$option;
}
return $result;
}
foreach($cur['bets'] as $bet) {
$result[$cur['matchNumber'].'-'.$bet] = $this->_combine_bets($array);
}
return $result;
}
这样我就得到了这个数组: http: //pastie.org/5692408
Soo.....回到我的问题,我想让这看起来只是赌注的价值......假设它应该看起来像这样:1x2112x121xx1、1x2x12x121xx1。而不是一个大数组。我需要为所有可能的情况做这个,这是一张只有 2 种不同可能性的优惠券,但是.. 它可以更多。
用户可以在比赛中选择 1,x,2,1x,12,x2,1x2 我的意思是用户在 13 种不同游戏中的所有选项,
如果您需要更多信息,请告诉我,我会更新这个..