0
我有一個完美的關聯數組。 之後我遇到的問題。在多維數組循環中使用foreach
數組翻轉後,$組合是這樣的:
$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>
我知道這是一個很大的代碼搞清楚。我確實希望有人能幫忙。我非常感激。謝謝! :)