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
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é :).
Bonjour.
Si ton tableau est un résultat d'une requête SQL, tu pourrais utiliser la fonction SQL SUM
, pour plus d'informations sur cette fonction, voir : SQL.sh » SQL SUM().
Si ce n'est pas le cas, tu pourrais par exemple regarder la fonction array_sum » Calcule la somme des valeurs du tableau.
@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));