Je suis débutant en php et je voudrais fusionner 2 tableaux. Mon tableaux a la structure suivant :
[01/02/2013] =>150
[02/02/2013] =>100
[03/02/2013] =>240
...
[28/02/2013] =>960
Merci.
$a1['01'] = '11';
$a1['02'] = '12';
$a1['03'] = '13';
$a1['04'] = '14';
$a2['01'] = '21';
$a2['03'] = '22';
$a2['05'] = '23';
$a2['07'] = '24';
1. Solution avec opérateur "+" :print_r($a1 + $a2);
/*
Array
(
[01] => 11
[02] => 12
[03] => 13
[04] => 14
[05] => 23
[07] => 24
)
*/
2. Solution avec la fonction "array_merge" :print_r(array_merge($a1, $a2));
/*
Array
(
[01] => 21
[02] => 12
[03] => 22
[04] => 14
[05] => 23
[07] => 24
)
*/
J'espère que ça pourra t'aider un peu...
<?php
$tab1=[];
$tab2=[];
$resultat = [];
foreach($tab1 as $date => $value) {
if(isset($resultat[$date])) {
$resultat[$date] += $value;
}
else {
$resultat[$date] = $value;
}
// l'index existe forcément a cause du if / else précédent
if (isset($tab2[$date])) {
$resultat[$date] += $tab2[$date];
}
}
}
@+
@moogli : n'ayant pas vraiment bien compris sa question, je n'ai pas cherché à apporter une solution exacte à son problème, mais juste lui montrer la différence entre opérateur et fonction, histoire de faire avancer un peu les choses (enfin, tenter de les faire avancer)...@ FredoMkb aucun de tres résultats ne retourne le résultat attendu, de plus il indique bien que array_merge ne lui convient pas que les clefs ne sont pas gardées.