Page 1 sur 1

Fusion de deux tableaux php

Posté : 20 oct. 2011, 16:18
par Nico
Bonjour,

Je cherche desespérent à fusionner 2 tableaux php sans succès..

TAB1
Array
(
    [20110920] => Array
        (
            [visites_newsletters] => 102
        )

    [20110921] => Array
        (
            [visites_newsletters] => 37
        )

    [20110922] => Array
        (
            [visites_newsletters] => 11
        )

    [20110923] => Array
        (
            [visites_newsletters] => 7
        )
etc.....
TAB2
Array
(
    [20110920] => Array
        (
            [adCost] => 39.36
            [visits] => 67
            [CPC] => 0.6452459016393443
            [adClicks] => 61
        )

    [20110921] => Array
        (
            [adCost] => 65.16
            [visits] => 95
            [CPC] => 0.6388235294117647
            [adClicks] => 102
        )

    [20110922] => Array
        (
            [adCost] => 119.65
            [visits] => 179
            [CPC] => 0.6231770833333333
            [adClicks] => 192
        )

    [20110923] => Array
        (
            [adCost] => 90.34
            [visits] => 147
            [CPC] => 0.6187671232876713
            [adClicks] => 146
        )
etc...
je fais ensuite un :
$megatab = array_merge_recursive($tab1, $tab2);
Et j'obtiens ça :
.....
[27] => Array
        (
            [visites_newsletters] => 6
        )

    [28] => Array
        (
            [visites_newsletters] => 97
        )

    [29] => Array
        (
            [visites_newsletters] => 35
        )

    [30] => Array
        (
            [adCost] => 39.36
            [visits] => 67
            [CPC] => 0.6452459016393443
            [adClicks] => 61
        )

    [31] => Array
        (
            [adCost] => 65.16
            [visits] => 95
            [CPC] => 0.6388235294117647
            [adClicks] => 102
        )

    [32] => Array
        (
            [adCost] => 119.65
            [visits] => 179
            [CPC] => 0.6231770833333333
            [adClicks] => 192
        )
....

alors que je voudrais avoir :
  [20110921] => Array
        (
            [adCost] => 65.16
            [visits] => 95
            [CPC] => 0.6388235294117647
            [adClicks] => 102
            [visites_newsletters] => 12
        )

    [20110922] => Array
        (
            [adCost] => 119.65
            [visits] => 179
            [CPC] => 0.6231770833333333
            [adClicks] => 192
            [visites_newsletters] => 45
        )

    [20110923] => Array
        (
            [adCost] => 90.34
            [visits] => 147
            [CPC] => 0.6187671232876713
            [adClicks] => 146
            [visites_newsletters] => 97
        )
Merci de votre aide...

Re: Fusion de deux tableaux php

Posté : 20 oct. 2011, 16:27
par Mazarini
Tu peux faire un foreach sur le premier tableau pour alimenter le second.
foreach ($tab1 as $cle => $valeur)
{
   $tab2[$cle]['visites_newsletters'] =  $valeur['visites_newsletters'];
} 
Il existe peut être des solutions plus élégantes.

Edit :
foreach ($tab2 as $cle => $valeur)
{
   $tab2[$cle]['visites_newsletters'] =  0;  // pour initialiser tout le second tableau
} 
foreach ($tab1 as $cle => $valeur)
{
   if (!isset($tab2[$cle])   // pour ajouter un nouvel élément à 0 dans $tab2
   {
       $tab2[$clé][adCost] = 0;
       $tab2[$clé][visits] = 0;
       $tab2[$clé] [CPC] = 0;
       $tab2[$clé][adClicks] = 0;
       ...  
   }
   $tab2[$cle]['visites_newsletters'] =  $valeur['visites_newsletters'];
} 

Re: Fusion de deux tableaux php

Posté : 20 oct. 2011, 16:58
par Nico
En effet ça marche :-)

Merci !

Et effectivement, si quelqu'un à la même chose à travers une fonction native, je ne suis pas contre !

Re: Fusion de deux tableaux php

Posté : 22 oct. 2011, 11:45
par sirakawa
pas le temps de tester
http://fr2.php.net/manual/fr/function.array-map.php exemples 4 et 5

Re: Fusion de deux tableaux php

Posté : 08 avr. 2013, 09:37
par anonime
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.

Re: Fusion de deux tableaux php

Posté : 10 avr. 2013, 12:54
par sirakawa
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.
Pour fusionner, il faut avoir plusieurs:
$tableau_1 = array();
$tableau_2= array();
$tableau_3 = fusion(-$tableau_1, $tableau_2);
Et dire comment sont fichus $tableau_1 et $tableau_2