Addition de 2 tableaux selon la clé
Résolu
fouraux
-
fouraux -
fouraux -
Bonjour,
voilà j'ai 2 tableau assez simple.
les voici :
et
j'aimerai addition la valeur si la clé est la même, et surtout garder l'ordre des clés en gros j'aimerai obtenir ca :
Array
(
[2] => 62465.75
[5] => 295.62
[6] => 18135.7
[9] => 9718.52
[10] => 987.92
[11] => 8915.79
[12] => 87600.33+15328.94 (juste le résultat)
[17] => 9360.47
[22] => 456
[24] => 367.58
[27] => 1426.04
[42] => 6677.87+12062.19
[43] => 420.18+180
[73] => 800.1
[103] => 800.1
[134] => 1600.2
)
J'ai regarder du coté de array_merge, mais il me refait toute les clés, et je dois les garder.
Merci d'avance pour votre aide !
voilà j'ai 2 tableau assez simple.
les voici :
Array ( [5] => 295.62 [6] => 18135.7 [11] => 8915.79 [12] => 87600.33 [22] => 456 [42] => 12062.19 [43] => 180 [73] => 800.1 [103] => 800.1 [134] => 1600.2 )
et
Array ( [2] => 62465.75 [9] => 9718.52 [10] => 987.92 [12] => 15328.94 [17] => 9360.47 [24] => 367.58 [27] => 1426.04 [42] => 6677.87 [43] => 420.18 )
j'aimerai addition la valeur si la clé est la même, et surtout garder l'ordre des clés en gros j'aimerai obtenir ca :
Array
(
[2] => 62465.75
[5] => 295.62
[6] => 18135.7
[9] => 9718.52
[10] => 987.92
[11] => 8915.79
[12] => 87600.33+15328.94 (juste le résultat)
[17] => 9360.47
[22] => 456
[24] => 367.58
[27] => 1426.04
[42] => 6677.87+12062.19
[43] => 420.18+180
[73] => 800.1
[103] => 800.1
[134] => 1600.2
)
J'ai regarder du coté de array_merge, mais il me refait toute les clés, et je dois les garder.
Merci d'avance pour votre aide !
A voir également:
- Addition de 2 tableaux selon la clé
- Clé usb non détectée - Guide
- Clé windows 8 - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Formater clé usb - Guide
- Addition excel - Guide
3 réponses
Avec un foreach, tu peux lister toutes les paires clé/valeur , ensuite avec un isset, tu vérifie si c'est présent dans l'autre tableau.
Pour l'ordre, je te laisse chercher encore un peu, car je n'ai pas d'idée précise.
Pour l'ordre, je te laisse chercher encore un peu, car je n'ai pas d'idée précise.
Bonjour,
Essayes ça :
Ce qui donne :
Cordialement,
Jordane
Essayes ça :
<?php $R1 = Array( "5" => 295.62 ,"6" => 18135.7 ,"11" => 8915.79 ,"12" => 87600.33 ,"22" => 456 ,"42" => 12062.19 ,"43" => 180 ,"73" => 800.1 ,"103" => 800.1 ,"134" => 1600.2 ); $R2 = Array ( "2" => 62465.75 ,"9" => 9718.52 ,"10" => 987.92 ,"12" => 15328.94 ,"17" => 9360.47 ,"24" => 367.58 ,"27" => 1426.04 ,"42" => 6677.87 ,"43" => 420.18 ); $sums = array(); foreach (array_keys($R1 + $R2) as $key) { $sums[$key] = @($R1[$key] + $R2[$key]); } ksort($sums); echo "<pre>"; print_r($R1); print_r($R2); print_r($sums); echo "</pre>"; ?>
Ce qui donne :

Cordialement,
Jordane