Php function somme

fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006 - 26 janv. 2006 à 15:58
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006 - 26 janv. 2006 à 17:16
Bonjour,

j'ai une fonction qui calcul différentes valeurs pour chaque point, j'aimerais faire la moyenne des valeurs si la valeur est différente de 0 ou vide.
comment puis je faire cela ??? j'avais pensé faire un truc comme ça mais un peu lourd !!
if ($val1<>0)
{
$somme=$somme+$val1;
$nbpoint=$nbpoint+1;
}

function calcul_valeur_voie($CLE, $niveau, $SELCPT)
{
$somme=0;
$nbpoint=0;
$val1=calcul_valeur_point($P1, $icol_CPT);
$val2=calcul_valeur_point($P2, $icol_CPT);
$val3=calcul_valeur_point($P3, $icol_CPT);
$val4=calcul_valeur_point($P4, $icol_CPT);
$val5=calcul_valeur_point($P5, $icol_CPT);
$val6=calcul_valeur_point($P6, $icol_CPT);
$val7=calcul_valeur_point($P7, $icol_CPT);
$val8=calcul_valeur_point($P8, $icol_CPT);
$val9=calcul_valeur_point($P9, $icol_CPT);
$val10=calcul_valeur_point($P10, $icol_CPT);
}
A voir également:

2 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 janv. 2006 à 16:59
Hello,

déjà, pourquoi tu n'utilises pas un tableau, pour tes valeurs ?
Ensuite, tu as la fonction array_sum () qui calcule la somme totale des valeurs d'un tableau.
Suffit de diviser par le nombre d'entrées du tablea (count ()). Mais si tu veux éviter les valeurs à 0, va falloir les tester d'abord.
Tu peux créer ujn 2ème tableau contenant uniquement des valeurs remplies, avec array_diff (), et en comparaant ton tableau de valeurs à un tableau contenant : array (0, '') par exemple.
0
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
26 janv. 2006 à 17:16
oh la !! ça me parait bien compliqué de faire tout ça !!!! je crois que je vais rester avec ma méthode lourde !!!!
0
Rejoignez-nous