我有一个完美的关联数组。 我之后遇到的问题是。
阵列翻转后,$ combo看起来像:
$combo = array(0 => '2,4', 1 => '4,15', 2 => '2,15');
我正在寻找每次给上面的每个组合:2,4将有1.8的时间,4,15将有1.1的时间等等...
我得到的是在每个循环中重复完全相同的时间,并且每次重复获得第一名优胜者,即使它不包含在组合中。
$position = array('1', '2', '3', '4');
$jersey = array('2', '4', '15', '20');
$AssocArr = array_combine($position, $jersey);
$combo = array('1,2', '2,3', '1,3');
$time = array('1.8', '1.1', '1.8');
foreach ($headers as $header) {
foreach ($time as $idx=>$ttext) {
if($header[1] === 'Multiples') {
foreach ($combo as &$value) {
$values = explode(',', $value, 2);
$comboGroups = array_intersect_key($AssocArr, array_flip($values));
$value = join(',', $comboGroups);
}
代码半部分从这里失败:
$TimeEntities = false;
foreach ($combo as $selGrp) {
$xid = $selGrp;
$sel = explode(',', $selGrp);
foreach ($sel as $set=>$sel) {
$set = 1;
$sel = trim($sel);
if (!empty($sel)){
if (is_numeric($sel))
$TimeEntities[$sel][$sel.';'.$set] = array('number' => $sel, 'order'=>$set);
else
$TimeEntities[$sel][$sel.';'.$set] = array('name' => $sel, 'order'=>$set);
$set++;
}
}
$race['tracks'][$trackxid]['times']['final;' .$xid] = array('type'=>'final', $time'=>$ttext, 'combinations'=>$TimeEntities);
}
}
}
}
我希望看到的结果如下:
-<time xid="Multiples|final;2,4" type="final" time="1.8">
-<combination xid="Multiples|final;2,4|2">
<comboParticipant xid="Multiples|final;2,4|2|2;1" order="1" number="2"/>
</combination>
-<combination xid="Multiples|final;2,4|4">
<comboParticipant xid="Multiples|final;2,4|4|4;1" order="1" number="4"/>
</combination>
</time>
-<time xid="Multiples|final;1,15" type="final" time="1.1">
-<combination xid="Multiples|final;1,15|1">
<comboParticipant xid="Multiples|final;1,15|1|1;1" order="1" number="1"/>
</combination>
-<combination xid="Multiples|final;1,15|15">
<comboParticipant xid="Multiples|final;1,15|15|15;1" order="1" number="15"/>
</combination>
</time>
-<time xid="Multiples|final;2,15" type="final" time="1.8">
-<combination xid="Multiples|final;2,15|2">
<comboParticipant xid="Multiples|final;2,15|2|2;1" order="1" number="2"/>
</combination>
-<combination xid="Multiples|final;2,4|4">
<comboParticipant xid="Multiples|final;2,15|15|15;1" order="1" number="15"/>
</combination>
</time>
我知道这是很多代码要弄清楚的。我希望有人可以提供帮助。我非常感激。谢谢! :)
答案 0 :(得分:0)
我最终做了三次,因为我知道每个Multi将是相同的组合。所以最终很容易。 :)