somme de valeurs d'occurences en tableau

Par med001, il y a 9 ans


Salut, comment faire somme des valeurs d'occurence en php .
j'ai cette tableau :

$array = array(1 => array(12),4 => array(1),7 => array(10),2 => array(18),1 => array(19),4 => array(47),7=> array(12),2=> array(12),5=> array(12),8=> array(12),9=> array(12));

aide moi s'il vous plait pour résoudre ce probléme et merci d'avance

4 réponses

med001, il y a 9 ans

@Lartak ,
nn c'est pas ca le cas , mon cas est j'ai un tableau .. par exemple cette tableau

$array = array(1 => array(12),4 => array(1),7 => array(10),2 => array(18),1 => array(19),4 => array(47),7=> array(12),2=> array(12),5=> array(12),8=> array(12),9=> array(12));

l'objectif est de faire la somme quand il j'ai des colonne concurrent

j'ai peut faire cette tableau c'est à dire l'objectif est de trouve cette tabeau

$array = array(1 => array(29),4 => array(48),7 => array(22),2 => array(30),5=> array(12),8=> array(12),9=> array(12));
Manghao, il y a 9 ans

Pourquoi ce genre de tableau et pas :

$array = [1 => 12, 4 => 1, 7 => 10, ...];

Et il me semble que tu ne peux pas avoir X fois la même clé dans un tableau.

Edit:
Je te conseil plus d'avoir un tableau comme celui-ci qui te permetterai de pouvoir avoir plusieurs fois la même "clé":

$array = [ [1 => 12], [4 => 1], [7 => 10], [2 => 18], [1 => 19], [4 => 47], [7 => 12], [2 => 12], [5 => 12], [8 => 12], [9 => 12] ];

et cette fonction que j'ai fais rapidement pour additionner les valeurs:

function sum_occurence($array = []) { $tab = []; foreach ($array as $key => $value) { // on parcourt le tableau foreach ($value as $k => $v) { // on parcourt les tableaux du premier tableau if (array_key_exists($k, $tab)) { // on regarde si la clé est présente dans le tableau $tab[$k] = ($tab[$k] + $v); // on additionne les valeurs } else { $tab[$k] = $v; // on ajoute la valeur dans le tableau } } } return $tab; // on retourne le tableau avec les valeurs additionnés }

En espérant t'avoir aidé :).

med001, il y a 9 ans

merci beaucoup @Manghao