Fusionner deux tableau en un seul
Posté : 28 avr. 2014, 11:10
Bonjour,
comme dit dans le titre, j'aimerai fusionner deux tableau en un seul. En soit se n'est pas un problème, mais c'est la façon dont je voudrai qu'ils se fusionnent qui me pose un tout petit chouilla problème.
Déjà voici mes deux table :
Array ( [utc_time] => Array ( [0] => 1 [1] => 2 [2] => 3 ) [point] => Array ( [0] => Array ( [JP] => 1 [NATH] => 0 [ALINE] => 4 ) [1] => Array ( [JP] => 3 [NATH] => 2 [ALINE] => 0 ) [2] => Array ( [JP] => 3 [NATH] => 1 [ALINE] => 4 ) ) )
Donc voilà le code que j'ai fait :
Array ( [utc_time] => Array ( [0] => 1 [1] => 2 [2] => 3 ) [point] => Array ( [0] => Array ( [JP] => 1 ) [1] => Array ( [JP] => 1 [NATH] => 0 ) [2] => Array ( [JP] => 1 [NATH] => 0 [ALINE] => 4 ) [3] => Array ( [JP] => 3 ) [4] => Array ( [JP] => 3 [NATH] => 2 ) [5] => Array ( [JP] => 3 [NATH] => 2 [ALINE] => 0 ) [6] => Array ( [JP] => 3 ) [7] => Array ( [JP] => 3 [NATH] => 1 ) [8] => Array ( [JP] => 3 [NATH] => 1 [ALINE] => 4 ) ) )
et là j'avoue être un chouilla bloqué,
alors si quelqu'un peut m'aider se serai top !
Merci d'avance !
comme dit dans le titre, j'aimerai fusionner deux tableau en un seul. En soit se n'est pas un problème, mais c'est la façon dont je voudrai qu'ils se fusionnent qui me pose un tout petit chouilla problème.
Déjà voici mes deux table :
$display = array(
'utc_time' => array('1','1','1','2','2','2','3','3','3'),
'destination' => array('JP','NATH','ALINE','JP','NATH','ALINE','JP','NATH','ALINE')
);
$response = array(
'originator' => array('JP','NATH','ALINE','JP','NATH','ALINE','JP','NATH','ALINE'),
'description' => array('1','0','4','3','2','0','3','1','4')
);
et je voudrai donc que ces deux tableau aille dans le tableau result :
$result = array(
'utc_time' => array(),
'point' => array()
);
à la fin le tableau result doit ressembler à ça :Array ( [utc_time] => Array ( [0] => 1 [1] => 2 [2] => 3 ) [point] => Array ( [0] => Array ( [JP] => 1 [NATH] => 0 [ALINE] => 4 ) [1] => Array ( [JP] => 3 [NATH] => 2 [ALINE] => 0 ) [2] => Array ( [JP] => 3 [NATH] => 1 [ALINE] => 4 ) ) )
Donc voilà le code que j'ai fait :
for ($i=0; $i < count($display['utc_time']); $i++) {
for ($j=0; $j < count($response['originator']); $j++) {
if ($i == $j) {
$result['utc_time'][] = $display['utc_time'][$i];
$new = array($display['destination'][$i] => $response['description'][$i]);
if($i==0){
//$new = array($display['destination'][$i] => $response['description'][$i]);
array_push($result['point'], $new);
}
if ($i!=0 && $display['utc_time'][$i] == $display['utc_time'][($i-1)]){
$second = array($display['destination'][$i] => $response['description'][$i]);
$result['point'][] = array_merge($result['point'][($i-1)], $second);
}
if ($i!=0 && $display['utc_time'][$i] != $display['utc_time'][($i-1)]){
array_push($result['point'], $new);
}
}
}
}
$result['utc_time'] = array_unique($result['utc_time']);
array_splice($result['utc_time'], count($result['utc_time']));
print_r($result);
Mais voilà ce que ça me donne : Array ( [utc_time] => Array ( [0] => 1 [1] => 2 [2] => 3 ) [point] => Array ( [0] => Array ( [JP] => 1 ) [1] => Array ( [JP] => 1 [NATH] => 0 ) [2] => Array ( [JP] => 1 [NATH] => 0 [ALINE] => 4 ) [3] => Array ( [JP] => 3 ) [4] => Array ( [JP] => 3 [NATH] => 2 ) [5] => Array ( [JP] => 3 [NATH] => 2 [ALINE] => 0 ) [6] => Array ( [JP] => 3 ) [7] => Array ( [JP] => 3 [NATH] => 1 ) [8] => Array ( [JP] => 3 [NATH] => 1 [ALINE] => 4 ) ) )
et là j'avoue être un chouilla bloqué,
alors si quelqu'un peut m'aider se serai top !
Merci d'avance !