我有一个完美运行的关联数组。我遇到的问题是在那之后。
数组翻转后,$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>
我知道这是很多代码要弄清楚。我确实希望有人可以提供帮助。我非常感激。谢谢!:)